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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
KorbenDallas
Встал на лапы
Сообщения: 93
Зарегистрирован: Пн окт 31, 2016 06:23:19

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

Сообщение KorbenDallas »

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

Сейчас мы с вами наблюдаем, как данный индивидуум исполняет танец пятой точки, свидетельствующий о глубоко запущенной стадии отрицания...
Реклама
Аватара пользователя
Starichok51
Модератор
Сообщения: 19049
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

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

Сообщение Starichok51 »

KorbenDallas, прекращай неудержимый поток оскорблений из своих "лопнувших труб".
если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
OKF
Это не хвост, это антенна
Сообщения: 1392
Зарегистрирован: Вт июн 07, 2011 08:03:18

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

Сообщение OKF »

[uquote="Starichok51",url="/forum/viewtopic.php?p=4314601#p4314601"]KorbenDallas, прекращай неудержимый поток оскорблений из своих "лопнувших труб".
если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".[/uquote]
Ну да. Прав тот у кого больше прав, не так ли?)
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

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

Сообщение Jack_A »

Пресекать поток поливания фекалью - это не только право, это обязанность модератора.
Изображение
Реклама
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

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

Сообщение Just_Fluffy »

Еще б тему почистить, где-то с 61 страницы.
Белая и Пушистая
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4314922#p4314922"]Еще б тему почистить[/uquote] Насрали пунктиром, тяжело вычищать какахи.
Аватара пользователя
dibor
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Чт авг 27, 2020 13:15:49

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

Сообщение dibor »

Может лучше про реактор?
Про любимый лунный трактор
... ?
Bill_
Открыл глаза
Сообщения: 60
Зарегистрирован: Вс ноя 13, 2022 14:58:17

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

Сообщение Bill_ »

[uquote="zero648",url="/forum/viewtopic.php?p=1985034#p1985034"]
Не происходит в этих операциях никаких сдвигов.
Здрасте, приехали..., а что тогда означают стрелки ">>" и "<<", если подумать логически? Это и есть сдвиг, и двигает это все препроцессор, в результате всех логических операций в выражении, согласно приоритетам, получается некое число, которое и присваивается в конечном итоге операнду.
Запись (1 << RS) означает, что в бит RS (который должен быть определен заранее) заносится лог.1
Интересно, что произойдет, если записать так (0b101<<RS)?, получается, что в бит RS Я могу запихать такое число? Как раз эта запись означает сдвинуть число 0b101 влево на RS бит.[/uquote]
На самом деле в действительности в данном случае сдвигов никаких нет, и препроцессор тут совершенно ни причём. Препроцессор тупо заменяет одну строку текста на другую и передаёт результат компилятору. Компилятор в свою очередь вычисляет полученное выражение (т.е. выполняет так называемую свёртку констант). Сдвиги выполняются во время свёртки. Если RS есть символическое определение константы, результат также будет константой.
aleksey chilov
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Вс мар 27, 2022 09:38:17

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

Сообщение aleksey chilov »

Здравствуйте!
Вопрос такой.
Имеется небольшой проект на Atmega 8
с выводом информации на LCD 1602 Китайский.
Проблема возникла с выводом дробного числа через utoa
результата работы ADC.
Подскажите как правильно с числами работать с дробью.
Памяти то тут не очень.
utoa видимо не умеет выводить дробные. А других я не знаю.
Вложения
2.jpg
(62.58 КБ) 73 скачивания
1.jpg
(137.83 КБ) 77 скачиваний
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

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

Сообщение Just_Fluffy »

aleksey chilov, <<utoa>> это unsigned integer to string.
Пользуйте sprintf() - см. например https://www.microchip.com/forums/m293227.aspx

Ну а вообще - 8битные AVR и float - слабосовместимые вещи. Не, ну если реально надо - то надо.
Но иногда проще и даже быстрее умножить значение на 10,100, 1000 - зависит от того, скока надо точности после запятой - это значение в целочисленной арифметике преобразовать в строку, а потом ручками поставить там точку в нужном месте.
Белая и Пушистая
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

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

Сообщение MLX90640 »

Во-первых, есть ftoa - флоаты в строку. Во-вторых, более экономичное решение - вывести сначала целую часть, затем поставить десятичную точку и вывести дробную часть.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

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

Сообщение Just_Fluffy »

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

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

Как самый простой вариант "в лоб" - результат АЦП дополнительно умножить на 100 и на эти коэффициенты. Прибавить 1024/2 (для округления) и разделить на 1024.
Получим какое то целое число, в 100 раз большее нужного нам.
Дальше или в строку его и вставить точку, либо целочисленно разделить на 100, напечатать целую часть, потом точку, потом остаток от деления на 100.
Тут минус - таки есть деление на 100, что для АВР не лучший ход, и нужно, возможно, использовать 32 бита целочисленную переменную.
Белая и Пушистая
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4323700#p4323700"]8битные AVR и float - слабосовместимые вещи[/uquote]
а миллионы ардуинщиков-то и не знают...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

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

Сообщение Just_Fluffy »

ARV, ну нашли на кого равняться.... :) :) :) Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.
Белая и Пушистая
aleksey chilov
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Вс мар 27, 2022 09:38:17

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

Сообщение aleksey chilov »

Проблема разрешилаь очень просто. Применил остаток от деления %. И потом положил в массив. Точку тоже положил в массив куда мне нужно. Ну а
дальше вывел как простую строчку. Получилось прикольно!
Ну признаться посмотрел на форуме там приводился пример подобных действий,я применил его,
я такую разбивку применял только по 7seg indication тоже нормально работает.
Вложения
2.png
(58.04 КБ) 76 скачиваний
1.png
(93.02 КБ) 81 скачивание
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

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

Сообщение MLX90640 »

"VRACHENIE V LEVO" :))) Во-первых, "влево" пишется слитно. Во-вторых, либо пишите на человеческом английском "Left Roration", либо используйте русские буквыы в дисплее, он может писать кириллическими символами, они есть в таблице.
aleksey chilov
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Вс мар 27, 2022 09:38:17

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

Сообщение aleksey chilov »

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

Добавлено after 54 seconds:
Наверное не умею грамотно кодить.
Вложения
11.png
(55.02 КБ) 71 скачивание
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

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-Р не нравится.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4323846#p4323846"]ARV, ну нашли на кого равняться.... :) :) :) Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.[/uquote]так те, кто не знает о плохой совместимости float с AVR, почему-то горя не знают, а те, кто знает - мучаются... какой же вывод надо сделать?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

Вернуться в «AVR»