Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 18.02.2013, 23:58  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от swat24 Посмотреть сообщение
я подключал stdio.h там есть strtod() и strtol().
Я писал по поводу процитированного фрагмента:
Сообщение от swat24 Посмотреть сообщение
по sprintf не получилось, уходит в hardfault.
Дело в том, что в stdio.h лишь объявления функции, а не их код, поэтому вариации, о которых я писал, осуществляются уже при линковке. Не знаю, как это выглядит в Атоллике (да и есть ли оно там), но скажем в IAR'е есть опции проекта (Project options/Library options/(Printf formatter|Scanf formatter)), указывающие вариант прилинковываемых функций форматного ввода вывода, на уровне линковки они работают переназначением имен _formatted_write* / _formatted_read*.

Сообщение от swat24 Посмотреть сообщение
... как перевести из числа в текст? из того же инт, флоат...
Если нет потребности сложных форматных строках, но есть ограничения по объему кода, то я обычно пользуюсь своими функциями, вроде тех, что приведены выше, в противном случае - библиотечными.
Реклама:
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 19.02.2013, 00:01  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Boba_spb Посмотреть сообщение
И параметр по ссылке введен в C++, а в С его нет.
Что-то я не разглядел в том коде параметров по ссылке - ???
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 19.02.2013, 00:06  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

nerozero, ага, в книгах и в документации по С для пк я это видел, находится в
#include ‹stdio.h›
#include ‹stdlib.h›
Но там такого нет...

Написано, что можно использовать такое:

Код:
sprintf(str,"%d",value) converts to decimal base.
sprintf(str,"%x",value) converts to hexadecimal base.
sprintf(str,"%o",value) converts to octal base.
Я сейчас пробую в кейле. Хочу, к примеру, на экран вывести температуру, которая имеет тип Float...

Последний раз редактировалось swat24; 19.02.2013 в 00:09.
swat24 вне форума  
Непрочитано 19.02.2013, 00:12  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от swat24 Посмотреть сообщение
Но как мне вывести к примеру числовое значение на экран? Если он принимает только строки...
Например, так.
Скажем, для примера с предыдущей страницы, выводите сначала строку "Temperature: ", затем две строки с целой и дробной частью и наконец - "°C":
Код:
        puts("Temperature: ");
        puts(Byte2Str(i/100));
        puts(Byte2Str(i%100));
        puts("°C");
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 19.02.2013, 00:16  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Для кого то писал тут floaе в строку. Только точность где то окло 0.01 -
и диапазон от -999 до +999 - для температуры хватит.

PHP код:
void FloatToStr(char *tx,float a

int i =*(int *)&a
int p= (i››23)&255
int m=( 0x7fffff )| 0x800000
if(
p==0
 { 
  *
tx++='0'
  *
tx=0
  return; 
 } 
 if(
i0
   { 
    *
tx++='-'
   } 
 
p=p-127
 if(
p0
   { 
    
m‹‹=p
   } 
 else 
  { 
   if(
p0
   { 
    
p=-p
    
m››=p
   } 
  } 
 
i=(m››23); 
 
m= (m&0x7fffff)››12
 
m*=125
 if(
m&0x80
  { 
  
m+=256
  } 
 
m››=8
 *
tx++='0'+i/100
 
i%=100
 *
tx++='0'+i/10
 *
tx++='0'+i%10
 *
tx++='.'
 *
tx++='0'+m/100
 
m%=100
 *
tx++='0'+m/10
 *
tx++='0'+m%10
 *
tx=0


Boba_spb вне форума  
Непрочитано 19.02.2013, 00:19  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Если проц не 32 битный. int на long поменяйте.
Boba_spb вне форума  
Сказали "Спасибо" Boba_spb
swat24 (19.02.2013)
Непрочитано 19.02.2013, 00:33  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

проц стм32ф4. Так что нормально. Сейчас пробую с sprintf.

Код:
int a=10;
char txt[10];

sprintf(txt,"%d",a);
На это компилятор не ругается. Только при передаче параметров в подпрограмму вывода на экран ошибку пишет. Там тип uint8_t.
Код:
txt=(uint8_t)txt;
не помогло...
Сейчас попробую разобраться, что не так с ним...
swat24 вне форума  
Непрочитано 19.02.2013, 00:36  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от swat24 Посмотреть сообщение
Код:
txt=(uint8_t)txt;
Это для чего такое присвоение? И что за переменная, эта "txt"?
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 19.02.2013, 00:43  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Скомпилировалось так:

Код:
int a=10;
char *txt[10];

sprintf(*txt,"%d",a);
GUI_Text(76,120,*txt,White,Green);
Но при работе высвечивается на экране квадратик и все... еще и отладка не пашит с прошивкой через кейл... похоже не мой сегодня день ...
Кейл пишет Error:Flash Download failed - "Cortex - M4"...

С кейлом разобрался, все прошивает и отладка работает, но проблема с преобразованием осталась. Так при отладке еще и не могу просмотреть значения переменных... написано "out of scope"... ну ладно, завтра это гляну.
Спасибо за помощь

Последний раз редактировалось swat24; 19.02.2013 в 01:00.
swat24 вне форума  
Непрочитано 19.02.2013, 11:15  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

sprintf(txt,"%d",a);
SasaVitebsk вне форума  
Сказали "Спасибо" SasaVitebsk
swat24 (19.02.2013)
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 21:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot