Обсуждаем контроллеры компании Atmel.
Пт ноя 04, 2022 07:14:05
ЛОЛ, народ! Он бы нам еще Манохина припомнил, у которого "на объекте трубы лопнули" и рассказал нам, что "объект" и "индустриальное водоснабжение и канализация" - это не одно и то же.
Сейчас мы с вами наблюдаем, как данный индивидуум исполняет танец пятой точки, свидетельствующий о глубоко запущенной стадии отрицания...
Пт ноя 04, 2022 08:42:04
KorbenDallas, прекращай неудержимый поток оскорблений из своих "лопнувших труб".
если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".
Пт ноя 04, 2022 11:58:59
самоназванный отец оказался просто энциклопедией с вырванными страницами про культуру общения...
Пт ноя 04, 2022 16:04:36
KorbenDallas, прекращай неудержимый поток оскорблений из своих "лопнувших труб".
если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".
Ну да. Прав тот у кого больше прав, не так ли?)
Пт ноя 04, 2022 18:24:10
Пресекать поток поливания фекалью - это не только право, это обязанность модератора.
Пт ноя 04, 2022 19:20:42
Еще б тему почистить, где-то с 61 страницы.
Пт ноя 04, 2022 22:30:42
Еще б тему почистить
Насрали пунктиром, тяжело вычищать какахи.
Ср ноя 09, 2022 12:26:07
Может лучше про реактор?
Про любимый лунный трактор
... ?
Сб ноя 19, 2022 18:17:38
Не происходит в этих операциях никаких сдвигов.
Здрасте, приехали..., а что тогда означают стрелки ">>" и "<<", если подумать логически? Это и есть сдвиг, и двигает это все препроцессор, в результате всех логических операций в выражении, согласно приоритетам, получается некое число, которое и присваивается в конечном итоге операнду.
Запись (1 << RS) означает, что в бит RS (который должен быть определен заранее) заносится лог.1
Интересно, что произойдет, если записать так (0b101<<RS)?, получается, что в бит RS Я могу запихать такое число? Как раз эта запись означает сдвинуть число 0b101 влево на RS бит.
На самом деле в действительности в данном случае сдвигов никаких нет, и препроцессор тут совершенно ни причём. Препроцессор тупо заменяет одну строку текста на другую и передаёт результат компилятору. Компилятор в свою очередь вычисляет полученное выражение (т.е. выполняет так называемую свёртку констант). Сдвиги выполняются во время свёртки. Если RS есть символическое определение константы, результат также будет константой.
Вс ноя 20, 2022 15:28:03
Здравствуйте!
Вопрос такой.
Имеется небольшой проект на Atmega 8
с выводом информации на LCD 1602 Китайский.
Проблема возникла с выводом дробного числа через utoa
результата работы ADC.
Подскажите как правильно с числами работать с дробью.
Памяти то тут не очень.
utoa видимо не умеет выводить дробные. А других я не знаю.
- Вложения
-
- 2.jpg
- (62.58 KiB) Скачиваний: 40
-
- 1.jpg
- (137.83 KiB) Скачиваний: 45
Вс ноя 20, 2022 15:49:36
aleksey chilov, <<utoa>> это
unsigned integer to string.
Пользуйте sprintf() - см. например
https://www.microchip.com/forums/m293227.aspxНу а вообще - 8битные AVR и float - слабосовместимые вещи. Не, ну если реально надо - то надо.
Но иногда проще и даже быстрее умножить значение на 10,100, 1000 - зависит от того, скока надо точности после запятой - это значение в целочисленной арифметике преобразовать в строку, а потом ручками поставить там точку в нужном месте.
Вс ноя 20, 2022 15:59:02
Во-первых, есть ftoa - флоаты в строку. Во-вторых, более экономичное решение - вывести сначала целую часть, затем поставить десятичную точку и вывести дробную часть.
Вс ноя 20, 2022 16:40:58
MLX90640, Ну я несколько сумбурно описала. Но имела ввиду то же самое.
Получить из флоата целую и дробную часть - не сложно. Но это математика с плавающей запятой. Лучше вообще на АВРке уйти от float. В подавляющем большинстве случаев можно уйти на целочисленную арифметику, умножив данные на какую то константу (в зависимости от требуемой точности).
У aleksey chilov, судя по скринам, результат АЦП (uint) множится на некие коэффициенты и делится на 1024.
Там вообще float не нужен, ибо при всей широте задачи результат - это 1024 константы - по разрядности АЦП. И можно подобрать коэффициенты так, что б математика была простая.
Как самый простой вариант "в лоб" - результат АЦП дополнительно умножить на 100 и на эти коэффициенты. Прибавить 1024/2 (для округления) и разделить на 1024.
Получим какое то целое число, в 100 раз большее нужного нам.
Дальше или в строку его и вставить точку, либо целочисленно разделить на 100, напечатать целую часть, потом точку, потом остаток от деления на 100.
Тут минус - таки есть деление на 100, что для АВР не лучший ход, и нужно, возможно, использовать 32 бита целочисленную переменную.
Вс ноя 20, 2022 19:45:57
8битные AVR и float - слабосовместимые вещи
а миллионы ардуинщиков-то и не знают...
Вс ноя 20, 2022 20:36:48
ARV, ну нашли на кого равняться....
Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.
Пн ноя 21, 2022 07:56:02
Проблема разрешилаь очень просто. Применил остаток от деления %. И потом положил в массив. Точку тоже положил в массив куда мне нужно. Ну а
дальше вывел как простую строчку. Получилось прикольно!
Ну признаться посмотрел на форуме там приводился пример подобных действий,я применил его,
я такую разбивку применял только по 7seg indication тоже нормально работает.
- Вложения
-
- 2.png
- (58.04 KiB) Скачиваний: 50
-
- 1.png
- (93.02 KiB) Скачиваний: 51
Пн ноя 21, 2022 08:25:11
"VRACHENIE V LEVO"
Во-первых, "влево" пишется слитно. Во-вторых, либо пишите на человеческом английском "Left Roration", либо используйте русские буквыы в дисплее, он может писать кириллическими символами, они есть в таблице.
Пн ноя 21, 2022 09:31:52
Да не прикалывайтесь. Набрасывал как удобно. Потом по пробую кириллицу прикрутить.
Вчера в интернете нашёл библиотеку допиленную. Кто-то делал. Ну если памяти хватит.
У этих Atmeg мало памяти. Пока только управление шим,обработчик кнопок, LCD и уже 27% схавано.
Добавлено after 54 seconds:Наверное не умею грамотно кодить.
- Вложения
-
- 11.png
- (55.02 KiB) Скачиваний: 42
Пн ноя 21, 2022 10:01:44
aleksey chilov, в интернете полным-полно разнообразных готовых шрифтов. Я у одного человека утащил удобный набор макросов и шрифт, часть нужного дорисовал,
вот, например. Таблица перекодировки позволяет не тратить понапрасну память на неиспользуемые символы (все равно обычно все 224 символа не нужны). Вот так, например, выглядит объявление буквы Щ:
- Код:
14,
________,________,
________,________,
XX___XX_,__XX____,
XX___XX_,__XX____,
XX___XX_,__XX____,
XX___XX_,__XX____,
XX___XX_,__XX____,
XX___XX_,__XX____,
XX___XX_,__XX____,
XX___XX_,__XX____,
XX___XX_,__XX____,
XX___XX_,__XX____,
XXXXXXXX,XXXXX___,
XXXXXXXX,XXXXX___,
________,___XX___,
________,___XX___
А таблица перекодировки позволяет легко в любую кодировку преобразовать, если КОИ8-Р не нравится.
Пн ноя 21, 2022 20:39:30
ARV, ну нашли на кого равняться....
Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.
так те, кто не знает о плохой совместимости float с AVR, почему-то горя не знают, а те, кто знает - мучаются... какой же вывод надо сделать?
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.