roboforum.ru

Технический форум по робототехнике.
Текущее время: 18 фев 2025, 21:37

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 17 фев 2009, 20:05 
Не в сети

Зарегистрирован: 13 фев 2009, 14:51
Сообщения: 25
Откуда: Minsk
Прочитав краткий курс по AVR, огромное спасибо автору, захотел написать программку, но возник вопрос: как вывести на LCD(HD44780) перемену типа float? Из-за нехватки знаний не могу решить эту задачу. Кто может подскажите пожалуйста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 17 фев 2009, 20:37 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
В каком смысле "как"? По моему туда и обычные числа просто так не вывести...
Если уже умеешь выводить строки - напечатай число в строку sprintf'ом и выведи строку, которая получится.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 17 фев 2009, 20:55 
Не в сети

Зарегистрирован: 13 фев 2009, 14:51
Сообщения: 25
Откуда: Minsk
В курсе сказано, что для преобразования числа в строку есть itoa() и ltoa(). Или я не правильно что то понимаю?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 17 фев 2009, 21:29 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
rock писал(а):
Прочитав краткий курс по AVR, огромное спасибо автору, захотел написать программку, но возник вопрос: как вывести на LCD(HD44780) перемену типа float? Из-за нехватки знаний не могу решить эту задачу. Кто может подскажите пожалуйста.


В курсе - http://avr123.nm.ru/z5.htm - тоже выводится число с точкой но оно не float такая же имитация в примерах в папке CVAVR

В хелпе CVAVR надо посмотреть раздел "LCD Functions" и наверно преобразовать float в строку и уже строку вывести на LCD.

=======

void ftoa(float n, unsigned char decimals, char *str)

converts the floating point number n to characters in string str.
The number is represented with a specified number of decimals.

void ftoe(float n, unsigned char decimals, char *str)

converts the floating point number n to characters in string str.
The number is represented as a mantissa with a specified number of decimals and an integer power of 10 exponent (e.g. 12.35e-5).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 17 фев 2009, 21:55 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
Если надо выводить только плавающее число - можно поискать специализированную ф-ю типа ftoa. А если планируется выводить разные вещи на lcd - float,int, строки с разнообразными выравниваниями влево-вправо, может еще что-то - то есть прямой смысл использовать ф-ю sprintf. Да, она отжирает на авр пару килобайт памяти кода, если использована в программе. От количества использований ессно размер отжираемый не зависит.

Так что советую почитать что умеет sprintf и что умеет ftoa и выбрать соответственно своим задачам. В любом случает происходит преобразование числа в строку, а затем уже эту строку (массив char) выводим на LCD.

А, а еще, если памяти жалко - можно написать свою putc, которая выводит один символ на LCD (ее все равно придется писать) и юзать после этого printf. В avr-libc такая возможность точно была.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 17 фев 2009, 22:05 
Не в сети
Аватара пользователя

Зарегистрирован: 21 янв 2005, 12:16
Сообщения: 977
Откуда: Germany
прог. языки: asm
rock писал(а):
Прочитав краткий курс по AVR, захотел написать программку, но возник вопрос: как вывести на LCD(HD44780) перемену типа float?

изучал бы курс не на Си, а на asm - подобных проблем бы не возникало.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 17 фев 2009, 22:07 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
nest писал(а):
rock писал(а):
Прочитав краткий курс по AVR, захотел написать программку, но возник вопрос: как вывести на LCD(HD44780) перемену типа float?

изучал бы курс не на Си, а на asm

На АСМ-е числа с плавающей точкой в легкую выводятся - раз и готово ! АСМ - это сила !

nest писал(а):
подобных проблем бы не возникало.

У него и нет проблем. У него вопрос - это нормально для человека познающего что-то новое задавать вопросы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 17 фев 2009, 22:37 
Не в сети
Аватара пользователя

Зарегистрирован: 21 янв 2005, 12:16
Сообщения: 977
Откуда: Germany
прог. языки: asm
avr123.nm.ru, вместо того, что бы раскрашивать фломастером слова разным цветом в окошке, вы бы учебник в руки взяли и открыли для себя слово "пунктуация".
а то вас трудно понять, что же вы сказать своей писаниной хотите.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 18 фев 2009, 01:52 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
тут нада не МК изучать, а простое программирование.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 18 фев 2009, 10:44 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Сергей писал(а):
тут нада не МК изучать, а простое программирование.
на АСМ-е обязательно ! потому что от Си моСк размягчается как у волка из красной пашечки - http://www.youtube.com/watch?v=TYy6H2qnPDo


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 18 фев 2009, 13:41 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Почему размягчается? Объясните уж. Вот сколько уже пишу на Си, всегда встречаются сложные ситуации, потому как в Си основная работа заключаеца в использовании главного преимущества Си - указателей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 18 фев 2009, 13:44 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Сергей писал(а):
Вот сколько уже пишу на Си, всегда встречаются сложные ситуации

Ответ выше уже был
nest писал(а):
изучал бы курс не на Си, а на asm - подобных проблем бы не возникало.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 18 фев 2009, 13:47 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Короче, автор, купи книжку Кернигана и Ритчи, прочитай, изучи и все станет понятно. Там всего то страниц 300 гдето. А то идет какоето бессмысленное обсуждение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 18 фев 2009, 13:50 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Я бы советовал потратить время на программирование МК чтобы научится программировать МК.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как вывести на LCD(HD44780) перемену типа float?
СообщениеДобавлено: 18 фев 2009, 14:00 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Только пользы от этого не будет, потому как человек не сможет отлаживать программы и смотреть лог в консоли. Для этого ему понадобица либо глючный Протеус либо еще какойнить симулятор. А если программировать под ПК, то ничо не нада, только мозгов немного для начала


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO