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

 
 
> Свой __write, IAR
Dron_Gus
сообщение Apr 24 2007, 16:26
Сообщение #1


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

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Хочу перенаправить printf на dbgu. Отключаю C-Spy пишу функцию size_t __write(int out, unsigned char const *pBuf, size_t len); Все бы хорошо, но данные скидываются этой функции по одному символу. PDC не применить. sad.gif А очень хочется. Может это как-то настраивается? Ведь передается же size_t len функции зачем-то?


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dron_Gus
сообщение May 1 2007, 19:38
Сообщение #2


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

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Написал свой printf на основе vsprintf по совету zltigo. Примерно так
Код
int printf(const char *format, ...)
  {
  int len;
  __Va_list ap;
  va_start(ap, format);
  len = vsprintf(OutTempStr, format, ap);
  dbgu_cdma(OutTempStr);
  va_end(ap);
  return len;
  }


В погоне за дальнейшим ускорением собираюсь передавать ф-ии vsprintf сразу нужную позичию в кольцевом буфере, чтоб писать сразу в буфер. Возник вопрос, как бы оценить размер того, что vsprintf нагенерирует? Есть ли какое-то ограничение на размер генерируемой строки? Просто не хочется "наезжать" на соседние данные и в то же время не хочется лишний раз копировать туда-сюда.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post



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

 


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


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