|
Вопрос по С |
|
|
|
 |
Ответов
(1 - 10)
|
Jan 20 2007, 22:29
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(WHALE @ Jan 21 2007, 02:17)  Господа,подскажите способ вставить в строку неотображаемые символы,типа перевод строки(0А),возв- рат каретки(0D) и т.д.Через sprintf не получается. Сейчас я их передаю отдельно,в обработчике USART анализируя,последний-ли символ в строке и дальше прямая запись чисел в UDR,что сильно тормозит обработчик и жутко неудобно. А так что ли не получается: Код sprintf(buffer, "Шла Саша%d по шоссе%d и сосала сушку%d", 0x0d, 0x0A, 0xff); ???
--------------------
|
|
|
|
|
Jan 20 2007, 23:09
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 20-03-05
Пользователь №: 3 533

|
Цитата А так что ли не получается:
sprintf(buffer, "Шла Саша%d по шоссе%d и сосала сушку%d", 0x0d, 0x0A, 0xff);
??? Имелось в виду, видимо, что функция sprintf не может использоваться из-за ограниченных ресурсов МК
|
|
|
|
|
Jan 20 2007, 23:18
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Lem @ Jan 21 2007, 03:09)  Цитата А так что ли не получается: sprintf(buffer, "Шла Саша%d по шоссе%d и сосала сушку%d", 0x0d, 0x0A, 0xff); ???
Имелось в виду, видимо, что функция sprintf не может использоваться из-за ограниченных ресурсов МК аха...Мож и есть способы, умные люди подскажут  Я делаю так: Пишу функцию, которая загоняет в буфер USART, или еще там куда, строку, вида: Код usart_print(char *buffer, char ctrl) Когда цикл внутри функции доходит до завершающего нуля строки, подставляется символ ctrl
--------------------
|
|
|
|
|
Jan 20 2007, 23:32
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(WHALE @ Jan 20 2007, 23:17)  Господа,подскажите способ вставить в строку неотображаемые символы,типа перевод строки(0А),возв- рат каретки(0D) и т.д.Через sprintf не получается. Сейчас я их передаю отдельно,в обработчике USART анализируя,последний-ли символ в строке и дальше прямая запись чисел в UDR,что сильно тормозит обработчик и жутко неудобно. Уже все перестали понимать проблему string[i]=0x0a; i++; string[i]=0x0d; i++; string[i]=0; i найдете где взять?
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Jan 20 2007, 23:38
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Dog Pawlowa @ Jan 21 2007, 03:32)  Цитата(WHALE @ Jan 20 2007, 23:17)  Господа,подскажите способ вставить в строку неотображаемые символы,типа перевод строки(0А),возв- рат каретки(0D) и т.д.Через sprintf не получается. Сейчас я их передаю отдельно,в обработчике USART анализируя,последний-ли символ в строке и дальше прямая запись чисел в UDR,что сильно тормозит обработчик и жутко неудобно.
Уже все перестали понимать проблему string[i]=0x0a; i++; string[i]=0x0d; i++; string[i]=0; i найдете где взять? А еслиф фо флэшш?
--------------------
|
|
|
|
|
Jan 21 2007, 00:29
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(prottoss @ Jan 20 2007, 22:38)  А еслиф фо флэшш?  Код #define CR "\r\n" // перевод строки __flash char const Tipatest1[] = "Это табулятор: отсюда>\t<до сюда"CR; __flash char const Tipatest2[] = "Это тоже табулятор: >\x08<"CR; __flash char const Tipatest3[] = "Последний символ затерт: *\b"CR; __flash char const Tipatest3[] = "Строчная \"Я\": \xFF"CR; Это имелось ввиду?
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|