roboforum.ru

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

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




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

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

А в самом МК нельзя отлаживать чтоль ?


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

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


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

Зарегистрирован: 13 фев 2009, 14:51
Сообщения: 25
Откуда: Minsk
Извините, что долго не отвечал был в отъезде. Тем кто советует мне читать книги я бы посоветовал вообще не чего не писать. Потому что, я и сам знаю что нужно читать книги и поверти я их читаю, но не всегда все сразу бывает понятно. Для этого я и задал конкретный вопрос в надежде получить конкретный ответ. И вопрос был замете не о книгах.

void ftoa(float n, unsigned char decimals, char *str)
avr123.nm.ru не могли бы вы подробно рассказать как правильно использовать эту функцию, если можно на примере. Спасибо.


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

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


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

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



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

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


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

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


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

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

Между чем?

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

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



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

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
blindman писал(а):
Насчет itoa/ltoa - неправда. А для float point есть dtostrf/dtostre.


Точно. Вот так и верь мануалу :) Причем в мануале эти функции есть! Токо в оглавлении нету, а искать некогда было :)


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

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

В контексте
Сергей писал(а):
человек не сможет отлаживать программы и смотреть лог в консоли
Отлаживать можно и при программировании компа, и при программировании МК.


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

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


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

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


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

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Для этого нужно стоздать файловое устройство (поток)
И присвоить его адрес стандартным потокам.

Для 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


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 5


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

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