Нескольно простых вопросов о программировании AVR на Си.
- KorbenDallas
- Встал на лапы
- Сообщения: 93
- Зарегистрирован: Пн окт 31, 2016 06:23:19
Re: Нескольно простых вопросов о программировании AVR на Си.
ЛОЛ, народ! Он бы нам еще Манохина припомнил, у которого "на объекте трубы лопнули" и рассказал нам, что "объект" и "индустриальное водоснабжение и канализация" - это не одно и то же.
Сейчас мы с вами наблюдаем, как данный индивидуум исполняет танец пятой точки, свидетельствующий о глубоко запущенной стадии отрицания...
Сейчас мы с вами наблюдаем, как данный индивидуум исполняет танец пятой точки, свидетельствующий о глубоко запущенной стадии отрицания...
- Реклама
- Starichok51
- Модератор
- Сообщения: 19049
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Нескольно простых вопросов о программировании AVR на Си.
KorbenDallas, прекращай неудержимый поток оскорблений из своих "лопнувших труб".
если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".
если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Нескольно простых вопросов о программировании AVR на Си.
самоназванный отец оказался просто энциклопедией с вырванными страницами про культуру общения...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Нескольно простых вопросов о программировании AVR на Си.
[uquote="Starichok51",url="/forum/viewtopic.php?p=4314601#p4314601"]KorbenDallas, прекращай неудержимый поток оскорблений из своих "лопнувших труб".
если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".[/uquote]
Ну да. Прав тот у кого больше прав, не так ли?)
если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".[/uquote]
Ну да. Прав тот у кого больше прав, не так ли?)
Re: Нескольно простых вопросов о программировании AVR на Си.
Пресекать поток поливания фекалью - это не только право, это обязанность модератора.
- Реклама
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Нескольно простых вопросов о программировании AVR на Си.
Еще б тему почистить, где-то с 61 страницы.
Белая и Пушистая
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Нескольно простых вопросов о программировании AVR на Си.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4314922#p4314922"]Еще б тему почистить[/uquote] Насрали пунктиром, тяжело вычищать какахи.
Re: Нескольно простых вопросов о программировании AVR на Си.
Может лучше про реактор?
Про любимый лунный трактор
... ?
Про любимый лунный трактор
... ?
Re: Нескольно простых вопросов о программировании AVR на Си.
[uquote="zero648",url="/forum/viewtopic.php?p=1985034#p1985034"]
На самом деле в действительности в данном случае сдвигов никаких нет, и препроцессор тут совершенно ни причём. Препроцессор тупо заменяет одну строку текста на другую и передаёт результат компилятору. Компилятор в свою очередь вычисляет полученное выражение (т.е. выполняет так называемую свёртку констант). Сдвиги выполняются во время свёртки. Если RS есть символическое определение константы, результат также будет константой.
Здрасте, приехали..., а что тогда означают стрелки ">>" и "<<", если подумать логически? Это и есть сдвиг, и двигает это все препроцессор, в результате всех логических операций в выражении, согласно приоритетам, получается некое число, которое и присваивается в конечном итоге операнду.Не происходит в этих операциях никаких сдвигов.
Интересно, что произойдет, если записать так (0b101<<RS)?, получается, что в бит RS Я могу запихать такое число? Как раз эта запись означает сдвинуть число 0b101 влево на RS бит.[/uquote]Запись (1 << RS) означает, что в бит RS (который должен быть определен заранее) заносится лог.1
На самом деле в действительности в данном случае сдвигов никаких нет, и препроцессор тут совершенно ни причём. Препроцессор тупо заменяет одну строку текста на другую и передаёт результат компилятору. Компилятор в свою очередь вычисляет полученное выражение (т.е. выполняет так называемую свёртку констант). Сдвиги выполняются во время свёртки. Если RS есть символическое определение константы, результат также будет константой.
-
aleksey chilov
- Нашел транзистор. Понюхал.
- Сообщения: 167
- Зарегистрирован: Вс мар 27, 2022 09:38:17
Re: Нескольно простых вопросов о программировании AVR на Си.
Здравствуйте!
Вопрос такой.
Имеется небольшой проект на Atmega 8
с выводом информации на LCD 1602 Китайский.
Проблема возникла с выводом дробного числа через utoa
результата работы ADC.
Подскажите как правильно с числами работать с дробью.
Памяти то тут не очень.
utoa видимо не умеет выводить дробные. А других я не знаю.
Вопрос такой.
Имеется небольшой проект на Atmega 8
с выводом информации на LCD 1602 Китайский.
Проблема возникла с выводом дробного числа через utoa
результата работы ADC.
Подскажите как правильно с числами работать с дробью.
Памяти то тут не очень.
utoa видимо не умеет выводить дробные. А других я не знаю.
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Нескольно простых вопросов о программировании AVR на Си.
aleksey chilov, <<utoa>> это unsigned integer to string.
Пользуйте sprintf() - см. например https://www.microchip.com/forums/m293227.aspx
Ну а вообще - 8битные AVR и float - слабосовместимые вещи. Не, ну если реально надо - то надо.
Но иногда проще и даже быстрее умножить значение на 10,100, 1000 - зависит от того, скока надо точности после запятой - это значение в целочисленной арифметике преобразовать в строку, а потом ручками поставить там точку в нужном месте.
Пользуйте sprintf() - см. например https://www.microchip.com/forums/m293227.aspx
Ну а вообще - 8битные AVR и float - слабосовместимые вещи. Не, ну если реально надо - то надо.
Но иногда проще и даже быстрее умножить значение на 10,100, 1000 - зависит от того, скока надо точности после запятой - это значение в целочисленной арифметике преобразовать в строку, а потом ручками поставить там точку в нужном месте.
Белая и Пушистая
Re: Нескольно простых вопросов о программировании AVR на Си.
Во-первых, есть ftoa - флоаты в строку. Во-вторых, более экономичное решение - вывести сначала целую часть, затем поставить десятичную точку и вывести дробную часть.
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Нескольно простых вопросов о программировании AVR на Си.
MLX90640, Ну я несколько сумбурно описала. Но имела ввиду то же самое.
Получить из флоата целую и дробную часть - не сложно. Но это математика с плавающей запятой. Лучше вообще на АВРке уйти от float. В подавляющем большинстве случаев можно уйти на целочисленную арифметику, умножив данные на какую то константу (в зависимости от требуемой точности).
У aleksey chilov, судя по скринам, результат АЦП (uint) множится на некие коэффициенты и делится на 1024.
Там вообще float не нужен, ибо при всей широте задачи результат - это 1024 константы - по разрядности АЦП. И можно подобрать коэффициенты так, что б математика была простая.
Как самый простой вариант "в лоб" - результат АЦП дополнительно умножить на 100 и на эти коэффициенты. Прибавить 1024/2 (для округления) и разделить на 1024.
Получим какое то целое число, в 100 раз большее нужного нам.
Дальше или в строку его и вставить точку, либо целочисленно разделить на 100, напечатать целую часть, потом точку, потом остаток от деления на 100.
Тут минус - таки есть деление на 100, что для АВР не лучший ход, и нужно, возможно, использовать 32 бита целочисленную переменную.
Получить из флоата целую и дробную часть - не сложно. Но это математика с плавающей запятой. Лучше вообще на АВРке уйти от 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 на Си.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4323700#p4323700"]8битные AVR и float - слабосовместимые вещи[/uquote]
а миллионы ардуинщиков-то и не знают...
а миллионы ардуинщиков-то и не знают...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Нескольно простых вопросов о программировании AVR на Си.
ARV, ну нашли на кого равняться....
Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.
Белая и Пушистая
-
aleksey chilov
- Нашел транзистор. Понюхал.
- Сообщения: 167
- Зарегистрирован: Вс мар 27, 2022 09:38:17
Re: Нескольно простых вопросов о программировании AVR на Си.
Проблема разрешилаь очень просто. Применил остаток от деления %. И потом положил в массив. Точку тоже положил в массив куда мне нужно. Ну а
дальше вывел как простую строчку. Получилось прикольно!
Ну признаться посмотрел на форуме там приводился пример подобных действий,я применил его,
я такую разбивку применял только по 7seg indication тоже нормально работает.
дальше вывел как простую строчку. Получилось прикольно!
Ну признаться посмотрел на форуме там приводился пример подобных действий,я применил его,
я такую разбивку применял только по 7seg indication тоже нормально работает.
Re: Нескольно простых вопросов о программировании AVR на Си.
"VRACHENIE V LEVO"
Во-первых, "влево" пишется слитно. Во-вторых, либо пишите на человеческом английском "Left Roration", либо используйте русские буквыы в дисплее, он может писать кириллическими символами, они есть в таблице.
-
aleksey chilov
- Нашел транзистор. Понюхал.
- Сообщения: 167
- Зарегистрирован: Вс мар 27, 2022 09:38:17
Re: Нескольно простых вопросов о программировании AVR на Си.
Да не прикалывайтесь. Набрасывал как удобно. Потом по пробую кириллицу прикрутить.
Вчера в интернете нашёл библиотеку допиленную. Кто-то делал. Ну если памяти хватит.
У этих Atmeg мало памяти. Пока только управление шим,обработчик кнопок, LCD и уже 27% схавано.
Добавлено after 54 seconds:
Наверное не умею грамотно кодить.
Вчера в интернете нашёл библиотеку допиленную. Кто-то делал. Ну если памяти хватит.
У этих Atmeg мало памяти. Пока только управление шим,обработчик кнопок, LCD и уже 27% схавано.
Добавлено after 54 seconds:
Наверное не умею грамотно кодить.
- Вложения
-
- 11.png
- (55.02 КБ) 71 скачивание
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Нескольно простых вопросов о программировании AVR на Си.
aleksey chilov, в интернете полным-полно разнообразных готовых шрифтов. Я у одного человека утащил удобный набор макросов и шрифт, часть нужного дорисовал, вот, например. Таблица перекодировки позволяет не тратить понапрасну память на неиспользуемые символы (все равно обычно все 224 символа не нужны). Вот так, например, выглядит объявление буквы Щ:
А таблица перекодировки позволяет легко в любую кодировку преобразовать, если КОИ8-Р не нравится.
Код: Выделить всё
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___- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Нескольно простых вопросов о программировании AVR на Си.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4323846#p4323846"]ARV, ну нашли на кого равняться....
Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.[/uquote]так те, кто не знает о плохой совместимости float с AVR, почему-то горя не знают, а те, кто знает - мучаются... какой же вывод надо сделать?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!



