Список разделов Flyback.org.ru » не HV » Микроконтроллеры и всё, что с ними связано
Тему сейчас просматривают - зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегестрированные - Нет
Ответить с цитатой

Николай
 


никогда не пишу. из кода вообще к делителям никогда не лазаю

Добавлено: Sun Aug 11, 2019 4:18 pm
Ответить с цитатой

Vitek_22
Простой советский бомж


А как вывести 3-х значное число a (от 0 до 999) на экран, с двухзначным понятно:
lcd_putchar(a/10+0x30);
lcd_putchar(a%10+0x30);
чёт не могу сообразить

Добавлено: Sun Aug 11, 2019 5:17 pm
Ответить с цитатой

Анна
 


делим число на 100, результат печатаем (старшая цифра), остаток запоминаем
делим остаток на 10, результат печатаем (средняя цифра), остаток запоминаем
остаток печатаем (младшая цифра)

Добавлено: Sun Aug 11, 2019 5:22 pm
Ответить с цитатой

Behram
 


Я делал так
Код:

uint8_t str[11]; // буфер для числа в виде строки, 10 символов для максимального 32 бит числа + 1 для terminate символа
int8_t idx = 9; // индекс
uint32_t num = 4294967295; // число для вывода
str[10] = '\0'; // забиваем terminate символ
do { str[idx--] = (num % 10) + '0'; } while (num /= 10); // собственно преобразование
uint8_t *pStr = &str[idx + 1]; // лепим указатель на начало "строки"
BSP_LCD_DisplayStringAt(X, Y, pStr, mode); // вызываем функцию, указав ей поинтер на "строку" с числом...


Добавлено: Sun Aug 11, 2019 5:47 pm
Ответить с цитатой

Vitek_22
Простой советский бомж


Ага, взял на вооружение!
А что значит %lu и %u в этом коде:

sprintf(buffer, "%lu", value32 );
sprintf(buffer, "%u", value16 );

Добавлено: Mon Aug 12, 2019 3:25 pm
Ответить с цитатой

Behram
 


http://www.cplusplus.com/reference/cstdio/printf/

Добавлено: Mon Aug 12, 2019 3:52 pm
Ответить с цитатой

Vitek_22
Простой советский бомж


а как работать с большими числами. есть какая-то стратегия? чёт гуглю. не могу ничего внятного найти. скажем. если у числа пару тысяч знаков?

Добавлено: Wed Aug 14, 2019 1:38 am
Ответить с цитатой

Николай
 


На авр!? Оперативы не хватит.
Использовать флеш как оперативу - ресурс маловат. И скорость просто ужасающая.....
Ну а в общем случае писать свой блок математики. Покрайней мере со 128битными на авр работается, но относительно медленно и под звуки огромного бубна.
Но мне для крипты маленьких пакетоа нужно было. Там милисекунды особо не считал за ресурс

Гуглится как "длинная арифметика"

Добавлено: Wed Aug 14, 2019 1:47 am
Ответить с цитатой

Ivani
 


Vitek_22 писал(а):
если у числа пару тысяч знаков?Сначала нужно понять зачем, потом будет ясно как, например на Атмегах вполне можно обойтись инт для точности 0,5 %.

Добавлено: Wed Aug 14, 2019 10:04 am
Ответить с цитатой

Behram
 


Казалось бы, какое отношение имеет точность к типу микроконтроллера? смех

Добавлено: Wed Aug 14, 2019 10:42 am
Ответить с цитатой

Vitek_22
Простой советский бомж


да не. я в целом спросил. не в отношении мк. а в отношении программирования.

Добавлено: Wed Aug 14, 2019 11:27 am
Ответить с цитатой

Behram
 


Это называется длинная арифметика
https://ru.wikipedia.org/wiki/Длинная_арифметика

Добавлено: Wed Aug 14, 2019 11:32 am
Ответить с цитатой

Анна
 


С тысячами знаков - наверно авки там просто не уместны, и нужно задуматься о чем-то помощнее

Добавлено: Wed Aug 14, 2019 3:38 pm
Ответить с цитатой

Александр
 


Если оперативы не хватает, то можно применить более жирную мегу с подключаемой оперативкой, меги или 128 или 256. Но к ним тоже вроде до 64кб подключить можно. Xmega 128А1 советовать не буду.

Добавлено: Wed Aug 14, 2019 10:18 pm
Ответить с цитатой

Vitek_22
Простой советский бомж


Чёт не соображу, как присвоить одному порту значение другого? Обе ножки работают на выход, хочу, чтоб если на одной "1", то на другой "0" был... и наоборот. Пока сделал по кривому, через переменную, но как-то это напрямую должно делаться, а?
типа PORTC.1!=....

Добавлено: Fri Aug 16, 2019 9:29 pm
Ответить с цитатой

Александр
 


PORTC=~PORTD // порт С равен инверсии порта D, но это для всех битов порта разом.
PORTC.1=~PORTC.3 // ножка 1порта с равна инверсии ножки 3 порта С

Добавлено: Fri Aug 16, 2019 9:40 pm
Ответить с цитатой

Vitek_22
Простой советский бомж


лёд тронулся!

Добавлено: Fri Aug 16, 2019 10:08 pm
Ответить с цитатой

Николай
 


Если обе ноги не выход то просто два присвоения. Одно с инверсией.
Единственное я бы обе ноги держал в пределах одного порта, чтобы одной коммандой присвоить. Тогда не будет перекрытия когда выводы неинверсны друг другу

Добавлено: Fri Aug 16, 2019 10:58 pm
Ответить с цитатой

Ivani
 


Нарвался на поддельные ATmega328P-AU с Али, при работе в сети RS485 постоянно падают в ребут(по сторожевику или сами), одиночно с RS485 работают, детально разглядывал 1 экземпляр - при питании 4,9 В стартует работает около 3х секунд и ребутится, при питании 5 В иногда стартует но чаще прибывает в ауте, при питании 4,5 В работает, гонял 3 часа потом поднял питание до 4,9 В и он ожидаемо повис.
На руках 3 партии новых ATmega328P-AU разных СТРАН упаковки в корпус и 4 старых/очень старых на платах ПРО МИНИ для сравнения, как отличить подделки без тотальной проверки?

1-2 новые, 3-4 прошлого года, остальные старые.

Добавлено: Sat Aug 17, 2019 11:48 am
328-9.jpg (104.74 Кб)
9
328-1.jpg (107.4 Кб)
1
328-2.jpg (31.06 Кб)
2
328-3.jpg (51.33 Кб)
3
328-4.jpg (49.02 Кб)
4
328-5.jpg (71.01 Кб)
5
328-6.jpg (84.6 Кб)
6
328-7.jpg (85.08 Кб)
7
Ответить с цитатой

Николай
 


вот честно, мне кажеться что на али надо просто забить. в куче говна можно выкапывать кусочки золота, но процесс этот неблагодарный.

мне кажеться никак не отличить, потому что это не подделки а стопудово отбраковки. подделать дешевый камень, да так чтобы он относительно нормально работал можно конечно, но имхо тут проще выпустить уже свой.

Добавлено: Sat Aug 17, 2019 12:00 pm
Ответить с цитатой

Ivani
 


Так в Чипдипе те-же чипы и в большей части Российских магазинов.
И отбраковку никто корпусировать, маркировать и выпускать с завода в здравом уме не будет.

Добавлено: Sat Aug 17, 2019 12:17 pm
Ответить с цитатой

Behram
 


Ivani писал(а):
Так в Чипдипе те-же чипы и в большей части Российских магазинов.
Ну так нужно с нормальными поставщиками сотрудничать, а не подвальными перекупами.
Ivani писал(а):
И отбраковку никто корпусировать, маркировать и выпускать с завода в здравом уме не будет.
Возможно, некоторым клиентам не нужна часть реализованных в проце функций и они вполне могут купить брак, подходящий по параметрам для их продукции.

http://tqfp.org/simple-tesla/stoit-li-zakupat-k...shaya-statya.html

Добавлено: Sat Aug 17, 2019 1:31 pm
Ответить с цитатой

Ivani
 


Заказчиком корпусирования является(во всяком случае раньше) сам Атмел, любой брак свидетельствует об повреждении кристалла.
Жадность в загран магазинах сейчас больше Российских, не говоря про китай.

Добавлено: Sat Aug 17, 2019 2:12 pm
Ответить с цитатой

Behram
 


Никогда не сталкивался с проблемами продукции купленной в диджикее/маузере/авнете/тме.

Добавлено: Sat Aug 17, 2019 10:04 pm
Ответить с цитатой

Ivani
 


В общем разобрался, 1829R5G партия подделок, нашел только 1 явное отличие - RDSon на 30 % меньше в обоих плечах, еще ожидаемо чуть другая(ВАХ) защитных диодов но разница около 3 %, НИ ОДИН тест не дал сбоев но устройства на них в сети RS485 не работают...

Добавлено: Mon Aug 19, 2019 10:07 am
bad_1829.jpg (38.52 Кб)

Список разделов Flyback.org.ru » не HV » Микроконтроллеры и всё, что с ними связано
На страницу Пред.  1, 2, 3 ... 122, 123, 124 ... 151, 152, 153  След.     Просмотр темы целиком



Лицензионное соглашение

(c)Flyback.org.ru
Российское общество любителей высоких напряжений.
Использование материалов с данного сайта и форума возможно только с разрешения администрации.