Отговори на тема  [ 19 мнения ]  Отиди на страница 1, 2  Следваща
ftoa() 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение ftoa()
Мисля че преди време имаше такава тема но не мога да я открия.

Трябва ми ftoa() функция. Изхода трябва да е от типа XXXX.YYYY.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Мар 09, 2006 7:29 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение Re: ftoa()
Цецо написа:
Мисля че преди време имаше такава тема но не мога да я открия.

Трябва ми ftoa() функция. Изхода трябва да е от типа XXXX.YYYY.


Имам такава за CCS C компилатора. YYYY мисля, че го бях направил да се настройва. Ако те интересува кажи къде да ти я пратя.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Чет Мар 09, 2006 7:48 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение 
Цецо, не мислиш ли, че поставянето на флоат операция и преобразуването и в стринг в микроконтролер е загуба на ресурси...


Чет Мар 09, 2006 9:09 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
sprintf с какво не те устройва?


Пет Мар 10, 2006 10:11 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
TheWizard написа:
Цецо, не мислиш ли, че поставянето на флоат операция и преобразуването и в стринг в микроконтролер е загуба на ресурси...


Ами числото(резутата от операцията) си е float, как да го изпиша по друг начин?

Predator, код на CCS не ме урежда. Поне така си мисля. Тоя компилатор е далеч от С стандарта, и ще ми е по трудно да е го пусна на АРМ (за това ми трябва). И аз имам една писана навремето за ПИК, ама по същата причина не ми се занимава с нея.

sprintf незнам моя компилатор (ИАР) дали го подържа, не съм чак толкоз навътре. Със сигурност подържа printf() ама незнам как да пренасоча изходния поток към писан от мен драйвер за LCD.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Мар 10, 2006 11:01 am
Профил ICQ
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Фев 22, 2006 6:27 pm
Мнения: 376
Местоположение: plovdiv
Мнение 
Цецо написа:
TheWizard написа:
Със сигурност подържа printf() ама незнам как да пренасоча изходния поток към писан от мен драйвер за LCD.


и мен ме интересува как се пренасочва поток към драйвер за дисплей някой ако знае ще е яко да го сподели


Пет Мар 10, 2006 11:13 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
В CCS е лесно да пренасочиш потока от printf() към каквото поискаш, за сметка на доста програмно пространство (особено в последните версии). На мен също ми е интересно да видя има ли начин да се пренасочи в KEIL и IAR...аз за такъв не се сетих и го написах така в моя KEIL
Код:
  lcd_clear();
  sprintf(c,"value=%d",i);
  lcd_print(c);

....

int lcd_print(char *c){
int i;
for( i=0; i < 100 && c[i] != 0; i++) {
lcd_putc(c[i]);
}
return 0;
}




Пет Мар 10, 2006 11:42 am
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Вто Ное 16, 2004 4:43 pm
Мнения: 85
Местоположение: София
Мнение 
Тук обсъждахме подбно нещо
http://www.mcu-bg.com/mcu_site/viewtopic.php?t=455&start=0&postdays=0&postorder=asc&highlight=
но за цели числа. Може просто да си умножиш числото по 10,100,1000, ... и да го печаташ по този начин.


Пет Мар 10, 2006 12:16 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
Цецо написа:
sprintf незнам моя компилатор (ИАР) дали го подържа, не съм чак толкоз навътре. Със сигурност подържа printf() ама незнам как да пренасоча изходния поток към писан от мен драйвер за LCD.


Пробвай, де. Ако има printf, почти сигурно ще има и sprintf.


Пет Мар 10, 2006 12:56 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение 
Ако формулите ти не са много сложни опитай както danov казва да ги преубразуваш във Integer умножени по 10,100...
Мисля че ще спестиш доста ресурси


иначе пренасочване - пример от IDE симулация dsPIC read/write file

#include <stdio.h> /* Required for printf */
UINT8 raw[IMAGE_WIDTH * IMAGE_HEIGHT];
UINT8 jpg[IMAGE_WIDTH * IMAGE_HEIGHT];

FILE *f;

f = fopen ("400.yuv", "rb");
fread (raw, 1, IMAGE_WIDTH * IMAGE_HEIGHT, f);
fclose (f);
...
f = fopen ("400.jpg", "wb");
fwrite (jpg, 1, Len, f);
fclose (f);


Пет Мар 10, 2006 1:04 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
"sprintf незнам моя компилатор (ИАР) дали го подържа, не съм чак толкоз навътре. Със сигурност подържа printf() ама незнам как да пренасоча изходния поток към писан от мен драйвер за LCD"

поддържа го но трябва да си включиш в проекта функция putch(char in) и вградения printf() ползва нея за да извежда.


Пет Мар 10, 2006 2:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Да, подържа sprintf, току що установих. Само дето трябва да се включи Large модела за printf. Проекта изведнъж почна да не се събира в РАМ-а. Та сега го пускам от Флаша. Което си е наказание. Ама работи де.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Мар 10, 2006 3:43 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Би трябвало да ти работят всички варианти на printf(). large включва всички възможни преобразувания на входния параметър и затова ти набъбва толкова кода. Ползваи някои от по малките варианти,надали ще ти трябват висички те му глезотии. И как го подкара без да си напишеш функция putch(char in) не ми е ясно. Освен large варианта да добавя и тази функция също и затова да работи. За орязаните варианти се налага сам да си я напишеш тая функция. putch(char in) трябва да изпрати входния си параметър към изхода които ти трябва,някои от сериините портове да кажем.
Така е замислено да работи.


Пет Мар 10, 2006 4:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
sprintf е буферна ф-я, няма нужда от putch


Пет Мар 10, 2006 4:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Не знам защо така е реализирано и аз се пулих доста. От един готов проект го видях че така става.


Пет Мар 10, 2006 4:42 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 19 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 14 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни