ЛОЛ, народ! Он бы нам еще Манохина припомнил, у которого "на объекте трубы лопнули" и рассказал нам, что "объект" и "индустриальное водоснабжение и канализация" - это не одно и то же.
Сейчас мы с вами наблюдаем, как данный индивидуум исполняет танец пятой точки, свидетельствующий о глубоко запущенной стадии отрицания...
KorbenDallas, прекращай неудержимый поток оскорблений из своих "лопнувших труб". если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
KorbenDallas, прекращай неудержимый поток оскорблений из своих "лопнувших труб". если будешь продолжать разговаривать в том же оскорбительном тоне, отправлю в баню попарится и покрутиться на любой из твоих "точек".
Здрасте, приехали..., а что тогда означают стрелки ">>" и "<<", если подумать логически? Это и есть сдвиг, и двигает это все препроцессор, в результате всех логических операций в выражении, согласно приоритетам, получается некое число, которое и присваивается в конечном итоге операнду.
Цитата:
Запись (1 << RS) означает, что в бит RS (который должен быть определен заранее) заносится лог.1
Интересно, что произойдет, если записать так (0b101<<RS)?, получается, что в бит RS Я могу запихать такое число? Как раз эта запись означает сдвинуть число 0b101 влево на RS бит.
На самом деле в действительности в данном случае сдвигов никаких нет, и препроцессор тут совершенно ни причём. Препроцессор тупо заменяет одну строку текста на другую и передаёт результат компилятору. Компилятор в свою очередь вычисляет полученное выражение (т.е. выполняет так называемую свёртку констант). Сдвиги выполняются во время свёртки. Если RS есть символическое определение константы, результат также будет константой.
Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
Добавлено: Вс ноя 20, 2022 15:28:03
Нашел транзистор. Понюхал.
Зарегистрирован: Вс мар 27, 2022 09:38:17 Сообщений: 165
Рейтинг сообщения:0
Здравствуйте! Вопрос такой. Имеется небольшой проект на Atmega 8 с выводом информации на LCD 1602 Китайский. Проблема возникла с выводом дробного числа через utoa результата работы ADC. Подскажите как правильно с числами работать с дробью. Памяти то тут не очень. utoa видимо не умеет выводить дробные. А других я не знаю.
Ну а вообще - 8битные AVR и float - слабосовместимые вещи. Не, ну если реально надо - то надо. Но иногда проще и даже быстрее умножить значение на 10,100, 1000 - зависит от того, скока надо точности после запятой - это значение в целочисленной арифметике преобразовать в строку, а потом ручками поставить там точку в нужном месте.
Во-первых, есть ftoa - флоаты в строку. Во-вторых, более экономичное решение - вывести сначала целую часть, затем поставить десятичную точку и вывести дробную часть.
MLX90640, Ну я несколько сумбурно описала. Но имела ввиду то же самое. Получить из флоата целую и дробную часть - не сложно. Но это математика с плавающей запятой. Лучше вообще на АВРке уйти от float. В подавляющем большинстве случаев можно уйти на целочисленную арифметику, умножив данные на какую то константу (в зависимости от требуемой точности).
У aleksey chilov, судя по скринам, результат АЦП (uint) множится на некие коэффициенты и делится на 1024. Там вообще float не нужен, ибо при всей широте задачи результат - это 1024 константы - по разрядности АЦП. И можно подобрать коэффициенты так, что б математика была простая.
Как самый простой вариант "в лоб" - результат АЦП дополнительно умножить на 100 и на эти коэффициенты. Прибавить 1024/2 (для округления) и разделить на 1024. Получим какое то целое число, в 100 раз большее нужного нам. Дальше или в строку его и вставить точку, либо целочисленно разделить на 100, напечатать целую часть, потом точку, потом остаток от деления на 100. Тут минус - таки есть деление на 100, что для АВР не лучший ход, и нужно, возможно, использовать 32 бита целочисленную переменную.
ARV, ну нашли на кого равняться.... Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.
Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
Добавлено: Пн ноя 21, 2022 07:56:02
Нашел транзистор. Понюхал.
Зарегистрирован: Вс мар 27, 2022 09:38:17 Сообщений: 165
Рейтинг сообщения:0
Проблема разрешилаь очень просто. Применил остаток от деления %. И потом положил в массив. Точку тоже положил в массив куда мне нужно. Ну а дальше вывел как простую строчку. Получилось прикольно! Ну признаться посмотрел на форуме там приводился пример подобных действий,я применил его, я такую разбивку применял только по 7seg indication тоже нормально работает.
"VRACHENIE V LEVO" Во-первых, "влево" пишется слитно. Во-вторых, либо пишите на человеческом английском "Left Roration", либо используйте русские буквыы в дисплее, он может писать кириллическими символами, они есть в таблице.
Заголовок сообщения: Re: Нескольно простых вопросов о программировании AVR на Си.
Добавлено: Пн ноя 21, 2022 09:31:52
Нашел транзистор. Понюхал.
Зарегистрирован: Вс мар 27, 2022 09:38:17 Сообщений: 165
Рейтинг сообщения:0
Да не прикалывайтесь. Набрасывал как удобно. Потом по пробую кириллицу прикрутить. Вчера в интернете нашёл библиотеку допиленную. Кто-то делал. Ну если памяти хватит. У этих Atmeg мало памяти. Пока только управление шим,обработчик кнопок, LCD и уже 27% схавано.
Добавлено after 54 seconds: Наверное не умею грамотно кодить.
aleksey chilov, в интернете полным-полно разнообразных готовых шрифтов. Я у одного человека утащил удобный набор макросов и шрифт, часть нужного дорисовал, вот, например. Таблица перекодировки позволяет не тратить понапрасну память на неиспользуемые символы (все равно обычно все 224 символа не нужны). Вот так, например, выглядит объявление буквы Щ:
А таблица перекодировки позволяет легко в любую кодировку преобразовать, если КОИ8-Р не нравится.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
ARV, ну нашли на кого равняться.... Миллионы абдуринщиков иногда даже не знают, что умеет их конкретно взятая абдурина. Им не надо. DigitalWrite - и погнали ногодрыгать.
так те, кто не знает о плохой совместимости float с AVR, почему-то горя не знают, а те, кто знает - мучаются... какой же вывод надо сделать?
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения