Обсуждаем контроллеры компании Atmel.
Ответить

Re: Нескольно простых вопросов о программировании AVR на Си.

Пт ноя 04, 2022 07:14:05

ЛОЛ, народ! Он бы нам еще Манохина припомнил, у которого "на объекте трубы лопнули" и рассказал нам, что "объект" и "индустриальное водоснабжение и канализация" - это не одно и то же.

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

Re: Нескольно простых вопросов о программировании AVR на Си.

Пт ноя 04, 2022 08:42:04

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

Re: Нескольно простых вопросов о программировании AVR на Си.

Пт ноя 04, 2022 11:58:59

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

Re: Нескольно простых вопросов о программировании AVR на Си.

Пт ноя 04, 2022 16:04:36

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

Ну да. Прав тот у кого больше прав, не так ли?)

Re: Нескольно простых вопросов о программировании AVR на Си.

Пт ноя 04, 2022 18:24:10

Пресекать поток поливания фекалью - это не только право, это обязанность модератора.

Re: Нескольно простых вопросов о программировании AVR на Си.

Пт ноя 04, 2022 19:20:42

Еще б тему почистить, где-то с 61 страницы.

Re: Нескольно простых вопросов о программировании AVR на Си.

Пт ноя 04, 2022 22:30:42

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

Re: Нескольно простых вопросов о программировании AVR на Си.

Ср ноя 09, 2022 12:26:07

Может лучше про реактор?
Про любимый лунный трактор
... ?

Re: Нескольно простых вопросов о программировании AVR на Си.

Сб ноя 19, 2022 18:17:38

Не происходит в этих операциях никаких сдвигов.
Здрасте, приехали..., а что тогда означают стрелки ">>" и "<<", если подумать логически? Это и есть сдвиг, и двигает это все препроцессор, в результате всех логических операций в выражении, согласно приоритетам, получается некое число, которое и присваивается в конечном итоге операнду.
Запись (1 << RS) означает, что в бит RS (который должен быть определен заранее) заносится лог.1
Интересно, что произойдет, если записать так (0b101<<RS)?, получается, что в бит RS Я могу запихать такое число? Как раз эта запись означает сдвинуть число 0b101 влево на RS бит.

На самом деле в действительности в данном случае сдвигов никаких нет, и препроцессор тут совершенно ни причём. Препроцессор тупо заменяет одну строку текста на другую и передаёт результат компилятору. Компилятор в свою очередь вычисляет полученное выражение (т.е. выполняет так называемую свёртку констант). Сдвиги выполняются во время свёртки. Если RS есть символическое определение константы, результат также будет константой.

Re: Нескольно простых вопросов о программировании AVR на Си.

Вс ноя 20, 2022 15:28:03

Здравствуйте!
Вопрос такой.
Имеется небольшой проект на Atmega 8
с выводом информации на LCD 1602 Китайский.
Проблема возникла с выводом дробного числа через utoa
результата работы ADC.
Подскажите как правильно с числами работать с дробью.
Памяти то тут не очень.
utoa видимо не умеет выводить дробные. А других я не знаю.
Вложения
2.jpg
(62.58 KiB) Скачиваний: 40
1.jpg
(137.83 KiB) Скачиваний: 44

Re: Нескольно простых вопросов о программировании AVR на Си.

Вс ноя 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 - зависит от того, скока надо точности после запятой - это значение в целочисленной арифметике преобразовать в строку, а потом ручками поставить там точку в нужном месте.

Re: Нескольно простых вопросов о программировании AVR на Си.

Вс ноя 20, 2022 15:59:02

Во-первых, есть ftoa - флоаты в строку. Во-вторых, более экономичное решение - вывести сначала целую часть, затем поставить десятичную точку и вывести дробную часть.

Re: Нескольно простых вопросов о программировании AVR на Си.

Вс ноя 20, 2022 16:40:58

MLX90640, Ну я несколько сумбурно описала. Но имела ввиду то же самое.
Получить из флоата целую и дробную часть - не сложно. Но это математика с плавающей запятой. Лучше вообще на АВРке уйти от float. В подавляющем большинстве случаев можно уйти на целочисленную арифметику, умножив данные на какую то константу (в зависимости от требуемой точности).

У aleksey chilov, судя по скринам, результат АЦП (uint) множится на некие коэффициенты и делится на 1024.
Там вообще float не нужен, ибо при всей широте задачи результат - это 1024 константы - по разрядности АЦП. И можно подобрать коэффициенты так, что б математика была простая.

Как самый простой вариант "в лоб" - результат АЦП дополнительно умножить на 100 и на эти коэффициенты. Прибавить 1024/2 (для округления) и разделить на 1024.
Получим какое то целое число, в 100 раз большее нужного нам.
Дальше или в строку его и вставить точку, либо целочисленно разделить на 100, напечатать целую часть, потом точку, потом остаток от деления на 100.
Тут минус - таки есть деление на 100, что для АВР не лучший ход, и нужно, возможно, использовать 32 бита целочисленную переменную.

Re: Нескольно простых вопросов о программировании AVR на Си.

Вс ноя 20, 2022 19:45:57

8битные AVR и float - слабосовместимые вещи

а миллионы ардуинщиков-то и не знают...

Re: Нескольно простых вопросов о программировании AVR на Си.

Вс ноя 20, 2022 20:36:48

ARV, ну нашли на кого равняться.... :) :) :) Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.

Re: Нескольно простых вопросов о программировании AVR на Си.

Пн ноя 21, 2022 07:56:02

Проблема разрешилаь очень просто. Применил остаток от деления %. И потом положил в массив. Точку тоже положил в массив куда мне нужно. Ну а
дальше вывел как простую строчку. Получилось прикольно!
Ну признаться посмотрел на форуме там приводился пример подобных действий,я применил его,
я такую разбивку применял только по 7seg indication тоже нормально работает.
Вложения
2.png
(58.04 KiB) Скачиваний: 49
1.png
(93.02 KiB) Скачиваний: 51

Re: Нескольно простых вопросов о программировании AVR на Си.

Пн ноя 21, 2022 08:25:11

"VRACHENIE V LEVO" :))) Во-первых, "влево" пишется слитно. Во-вторых, либо пишите на человеческом английском "Left Roration", либо используйте русские буквыы в дисплее, он может писать кириллическими символами, они есть в таблице.

Re: Нескольно простых вопросов о программировании AVR на Си.

Пн ноя 21, 2022 09:31:52

Да не прикалывайтесь. Набрасывал как удобно. Потом по пробую кириллицу прикрутить.
Вчера в интернете нашёл библиотеку допиленную. Кто-то делал. Ну если памяти хватит.
У этих Atmeg мало памяти. Пока только управление шим,обработчик кнопок, LCD и уже 27% схавано.

Добавлено after 54 seconds:
Наверное не умею грамотно кодить.
Вложения
11.png
(55.02 KiB) Скачиваний: 40

Re: Нескольно простых вопросов о программировании AVR на Си.

Пн ноя 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-Р не нравится.

Re: Нескольно простых вопросов о программировании AVR на Си.

Пн ноя 21, 2022 20:39:30

ARV, ну нашли на кого равняться.... :) :) :) Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.
так те, кто не знает о плохой совместимости float с AVR, почему-то горя не знают, а те, кто знает - мучаются... какой же вывод надо сделать?
Ответить