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