roboforum.ru

Технический форум по робототехнике.

Как вывести на LCD(HD44780) перемену типа float?

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение avr123.nm.ru » 18 фев 2009, 14:02

Сергей писал(а):Только пользы от этого не будет, потому как человек не сможет отлаживать программы и смотреть лог в консоли. Для этого ему понадобица либо глючный Протеус либо еще какойнить симулятор.

А в самом МК нельзя отлаживать чтоль ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение Сергей » 18 фев 2009, 14:07

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

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение rock » 18 фев 2009, 17:35

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

void ftoa(float n, unsigned char decimals, char *str)
avr123.nm.ru не могли бы вы подробно рассказать как правильно использовать эту функцию, если можно на примере. Спасибо.
rock
 
Сообщения: 25
Зарегистрирован: 13 фев 2009, 14:51
Откуда: Minsk

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение boez » 18 фев 2009, 18:19

А в avr-libc (которая для программирования аврок на gcc, к примеру в составе пакета WinAVR идет) вообще функции ftoa нету. atof есть. А вместо ftoa/itoa/ltoa говорят юзайте sprintf :)
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение blindman » 18 фев 2009, 18:36

Насчет itoa/ltoa - неправда. А для float point есть dtostrf/dtostre.

Код: Выделить всёРазвернуть
andrey@underground:/usr/avr/lib/avr4$ avr-nm  libc.a | grep 'utoa\|ltoa\|itoa\|dtostrf\|dtostre'
itoa.o:
00000000 T itoa
ltoa.o:
00000000 T ltoa
ultoa.o:
00000000 T ultoa
utoa.o:
00000000 T utoa
dtostre.o:
00000000 T dtostre
dtostrf.o:
00000000 T dtostrf
andrey@underground:/usr/avr/lib/avr4$
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение rock » 18 фев 2009, 18:43

Спасибо, я обязательно поюзаю sprintf, но я хотел бы разобраться и с ftoa, чтоб знать в какой ситуации, что лучше использовать.
rock
 
Сообщения: 25
Зарегистрирован: 13 фев 2009, 14:51
Откуда: Minsk

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение realsystem » 18 фев 2009, 18:44

Никакой с..ка разницы (с) :friends: Что комп что МК
realsystem
 
Сообщения: 629
Зарегистрирован: 01 фев 2009, 01:32
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение blindman » 18 фев 2009, 18:48

realsystem писал(а):Никакой с..ка разницы (с)

Между чем?
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение boez » 18 фев 2009, 18:55

blindman писал(а):Насчет itoa/ltoa - неправда. А для float point есть dtostrf/dtostre.


Точно. Вот так и верь мануалу :) Причем в мануале эти функции есть! Токо в оглавлении нету, а искать некогда было :)
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение realsystem » 18 фев 2009, 19:55

blindman писал(а):Между чем?

В контексте
Сергей писал(а):человек не сможет отлаживать программы и смотреть лог в консоли
Отлаживать можно и при программировании компа, и при программировании МК.
realsystem
 
Сообщения: 629
Зарегистрирован: 01 фев 2009, 01:32
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение rock » 19 фев 2009, 17:17

Я вижу помощи ждать неоткуда?
rock
 
Сообщения: 25
Зарегистрирован: 13 фев 2009, 14:51
Откуда: Minsk

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение Сергей » 19 фев 2009, 17:22

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

Re: Как вывести на LCD(HD44780) перемену типа float?

Сообщение Vooon » 19 фев 2009, 18:18

Для этого нужно стоздать файловое устройство (поток)
И присвоить его адрес стандартным потокам.

Для lcd будет что-то вроде:

Код: Выделить всёРазвернуть
#include <stdio.h>

int lcd_putchar(char c, FILE *stream);
{
// lcd_putchar
}

FILE lcd_fdev = FDEV_SETUP_STREAM(lcd_putchar, NULL, _FDEV_SETUP_WRITE);

int main()
{
    stdout = &lcd_fdev;

    printf("Output to lcd %d", 123);


    return 0;
}
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Пред.

Вернуться в Микроконтроллеры

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

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