|
|
  |
как вывести в Си вот такую строку |
|
|
|
Jul 2 2012, 19:56
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 11-01-08
Пользователь №: 34 008

|
Добрый день подскажите плз как можно в СИ , а конкретно IAR ARM 6.30 вывести в UART вот такую строку? {"Name": "001","ChValues": [128,64,32,255],"OnOff": 1}
|
|
|
|
|
Jul 2 2012, 20:11
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(man1 @ Jul 2 2012, 22:56)  Добрый день подскажите плз как можно в СИ , а конкретно IAR ARM 6.30 вывести в UART вот такую строку? {"Name": "001","ChValues": [128,64,32,255],"OnOff": 1} Можно использовать sprintf: Код char buffer[BUF_SIZE]; sprintf(buffer, "строка форматирования", "параметры"); SendBufferToUART(buffer); Фунцию SendBufferToUART написать самому или скопипастить, если есть подходящая.
|
|
|
|
|
Jul 2 2012, 20:21
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 11-01-08
Пользователь №: 34 008

|
Цитата(SSerge @ Jul 3 2012, 00:09)  А в чём проблема? Если в представлении символа " внутри строки, то так: \"
const char string[] = "\"Name\": \"001\",\"ChValues\": [128,64,32,255],\"OnOff\": 1"; Да , только у меня значения параметров переменные т.е имя ChValues , а параметры 128,64,32,255 в процессе работы программы считаются
Сообщение отредактировал man1 - Jul 2 2012, 20:21
|
|
|
|
|
Jul 2 2012, 20:32
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(man1 @ Jul 2 2012, 23:21)  Да , только у меня значения параметров переменные т.е имя ChValues , а параметры 128,64,32,255 в процессе работы программы считаются Тогда нет смысла строку формировать. Разве что строку форматирования как константу. Код sprintf(buffer, "Kakoi-to text %d, %d, %d, %d", value1, value2, value3, value4); полученную строку выдать в UART.
|
|
|
|
|
Jul 3 2012, 02:36
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 10-10-05
Пользователь №: 9 463

|
Делал недавно подобное, правда IAR AVR. Использовал библиотеку string.h. Параметры преобразовать в ASCII и strcat в буфер, строки - strcpy в буфер CODE #define MAX_BUF 256 unsigned char buf[MAX_BUF]; char temp[4]; bin2ascii(N1); strcat_P((char *)buf,(char __flash *)(" N1:")); strcat((char *)buf,temp); bin2ascii(N2); strcat_P((char *)buf,(char __flash *)(" N2:")); strcat((char *)buf,temp);
if (send(buf,strlen((char *)buf)) <= 0) break;
Сообщение отредактировал oll - Jul 3 2012, 02:38
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|