Си: перевод результата из типа float в string.

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Slavast
Открыл глаза
Сообщения: 66
Зарегистрирован: Чт окт 21, 2010 10:05:27
Контактная информация:

Си: перевод результата из типа float в string.

Сообщение Slavast »

Всем добрый день!
Уже 3-й день не могу перевести полученный результат с АЦП (деленный на коэффициент) с типа с плавающей запятой в символьный для вывода на UART терминала компьютера. Без преобразования выводит квадраты.
Поделитесь опытом, может есть команда или процедура?
Спасибо!
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18675
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Си: перевод результата из типа float в string.

Сообщение ARV »

если вы настолько расточительны, что используете в своем микроконтроллерном проекте тип float, то почему не используете возможности расточительной функции printf или sprintf для вывода этих чисел? только активируйте в своем компиляторе "расширенную поддержку форматирования" этих функций, т.к. по умолчанию наверняка тип float не поддерживается ими (это, кстати, вам намек: если компилятор по умолчанию считает, что float не нужно поддерживать - возможно, он прав?)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
Fasterpast
Мучитель микросхем
Сообщения: 493
Зарегистрирован: Ср фев 14, 2007 12:07:58
Откуда: Москва
Контактная информация:

Re: Си: перевод результата из типа float в string.

Сообщение Fasterpast »

Озвучьте компилятор ) CvAVR, например, нормально всё переводит. На других AVR компиляторах я на самом деле подобными извращениями не занимался, ибо в этом месте получаются действительно огромные простои. Если нужно работать с float, советую поискать другой контроллер или городить "сопроцессор"...
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18675
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Си: перевод результата из типа float в string.

Сообщение ARV »

Fasterpast писал(а):CvAVR, например, нормально всё переводит. На других AVR компиляторах я на самом деле подобными извращениями не занимался, ибо в этом месте получаются действительно огромные простои.
это как следует понимать: CVAVR работает с float-ами гораздо оптимальнее прочих компиляторов или ваше высказывание о "простоях" относится ко всем компиляторам, просто вам не довелось с другими поработать?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Эиком - электронные компоненты и радиодетали
Slavast
Открыл глаза
Сообщения: 66
Зарегистрирован: Чт окт 21, 2010 10:05:27
Контактная информация:

Re: Си: перевод результата из типа float в string.

Сообщение Slavast »

Sprintf пробовал.
не работает.

char buf[N];
sprintf(buf,"%f",ab);

for (i=0; i<5; i++)
{
t = s;
USART_Transmit(t); // подпрограммка вывода на UART
}
Реклама
Аватара пользователя
Fasterpast
Мучитель микросхем
Сообщения: 493
Зарегистрирован: Ср фев 14, 2007 12:07:58
Откуда: Москва
Контактная информация:

Re: Си: перевод результата из типа float в string.

Сообщение Fasterpast »

ARV писал(а):
Fasterpast писал(а):CvAVR, например, нормально всё переводит. На других AVR компиляторах я на самом деле подобными извращениями не занимался, ибо в этом месте получаются действительно огромные простои.
это как следует понимать: CVAVR работает с float-ами гораздо оптимальнее прочих компиляторов или ваше высказывание о "простоях" относится ко всем компиляторам, просто вам не довелось с другими поработать?
Это следует понимать как:
1.огромные задержки независимо от компилятора
2.работал с float только в cvavr

Сорри, если неправильно выразился.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18675
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Си: перевод результата из типа float в string.

Сообщение ARV »

Slavast писал(а):Sprintf пробовал.
не работает.
а вы включали поддержку sprintf-ом типа float? я не зря об этом сказал в своем первом посте: по умолчанию она отключена
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»