реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> нужно передать строку с замешанными данными
jcxz
сообщение Feb 14 2016, 16:21
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(andrew_b @ Feb 13 2016, 10:10) *
Код
[andrew@myhost ~]$ man _Printf
No manual entry for _Printf

Для IAR:
Код
extern "C" int _Printf(void *(*)(void *, int), void *, const char *, va_list *);
uint GrAPI::Print(int x, int y, char const *s, ...)
{
  va_list v;
  va_start(v, s);
  GrPrintData data;
  data.x = x;
  data.y = y;
  data.width_gap = 0;
  _Printf(PrintPutc, (void *)&data, s, &v);
  va_end(v);
  return data.width;
}

Для CCS подобная функция:
Код
#if !defined(NOFLOAT) && !defined(MINIMAL)
extern "C" int _printfi(char **_format, va_list _ap, void *_op,
  int (*_outc)(char, void *), int (*_outs)(char *, void *, int));
#elif defined(NOFLOAT)
extern "C" int _printfi_nofloat(char **_format, va_list _ap, void *_op,
  int (*_outc)(char, void *), int (*_outs)(char *, void *, int));
#elif defined(MINIMAL)
extern "C" int _printfi_minimal(char **_format, va_list _ap, void *_op,
  int (*_outc)(char, void *), int (*_outs)(char *, void *, int));
#endif

Возможности - намного больше чем у sprintf или snprintf. В run-time библиотеке IAR все функции семейства printf работают через _Printf()
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 14 2016, 16:53
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Пробую кодеблокс. Какой компилятор установить надо, чтобы из-под чтобы компилить код для железки арм Линукс? Само ядро я собирал линаро -gcc. Но вроде на сайте кодеблокс пишут,что нельзя для линукса линаро поставить.


Цитата(jcxz @ Feb 14 2016, 19:21) *
Для IAR:
Код
extern "C" int _Printf(void *(*)(void *, int), void *, const char *, va_list *);
uint GrAPI::Print(int x, int y, char const *s, ...)
{
  va_list v;
  va_start(v, s);
  GrPrintData data;
  data.x = x;
  data.y = y;
  data.width_gap = 0;
  _Printf(PrintPutc, (void *)&data, s, &v);
  va_end(v);
  return data.width;
}

Для CCS подобная функция:
Код
#if !defined(NOFLOAT) && !defined(MINIMAL)
extern "C" int _printfi(char **_format, va_list _ap, void *_op,
  int (*_outc)(char, void *), int (*_outs)(char *, void *, int));
#elif defined(NOFLOAT)
extern "C" int _printfi_nofloat(char **_format, va_list _ap, void *_op,
  int (*_outc)(char, void *), int (*_outs)(char *, void *, int));
#elif defined(MINIMAL)
extern "C" int _printfi_minimal(char **_format, va_list _ap, void *_op,
  int (*_outc)(char, void *), int (*_outs)(char *, void *, int));
#endif

Возможности - намного больше чем у sprintf или snprintf. В run-time библиотеке IAR все функции семейства printf работают через _Printf()

Так это на плюсах должен быть проект тогда.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 14 2016, 17:23
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (jcxz @ Feb 14 2016, 18:21) *
Возможности - намного больше чем у sprintf или snprintf. В run-time библиотеке IAR все функции семейства printf работают через _Printf()

Какая разница есть обертка или нет. _Printf() от этого менее монстральным не становится. С другой стороны его универсальности для 99% встроенных систем не требуется. Посему пользовать действительно заточенные под минимально необходимые возможности самописные "printf".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
smalcom
сообщение Feb 14 2016, 20:59
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата
Но вроде на сайте кодеблокс пишут,что нельзя для линукса линаро поставить.

ставьте как удобно. потом в настройках среды выбираете какой компилятор хотите настроить и показываете ему где и как брать linaro.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Feb 15 2016, 08:08
Сообщение #20


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Метценгерштейн @ Feb 13 2016, 09:33) *
проблема была значение 0х3а перевести в строку "0x3a"

"0x%02X",value


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Feb 18 2016, 16:11
Сообщение #21


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



а я делаю так
Код
ItoA(rtc.rtcHour, strbuf_hour);
ItoA(rtc.rtcMin, strbuf_min);
char strbuf_time[8] = "";
strcat(strbuf_time," ");
strcat(strbuf_time,strbuf_hour);
strcat(strbuf_time,":");
strcat(strbuf_time,strbuf_min);
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016