Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Как бы навести красоту в ASCII протокол(+)

Отправлено misyachniy 03 июня 2008 г. 11:46


Для сбора информации(телемеханика) написал вот такие заголовки для программы в PC и микроконтроллере
// первая цифра посылки - номер устройства
#define CROSS_ID '1' // требуются параметры кроссовера
#define TRANS_ID '2' // требуются параметры передатчика
#define STAT_ID '3' // требуется статистика обмена

// вторая цифра посылки - номер параметра // требуется значение
#define TEMPERATURE_ID '0' // температуры
#define POWER_ID '1' // выходной мощности
#define SUCC_ID '2' // число успешних обменов по модему
#define CRC_ID '3' // число обменов по модему с ошибкой

В ответе хочу ввести дополнительный контроль, чтобы легче было отлавливать ошибки.
Возвращать обратно номер устройства/параметра,

Что-то типа 'p'xx'v'xxxx

Получается такая громоздкая конструкция
UARTprintf("p%d%dv%02d\r", (char)TRANS_ID-'0', (char)TEMPERATURE_ID-'0',TMP36_v2c(Cross.Tempature_mV));

К томуже происходит двойное преобразование ASCII в число и наоборот.

Есть ли легкое/несложное решение?
Или может есть в IAR ARM аналоги функций типа itoa или atoi?

P.S. Нужно именно легкое/несложное решение, так как параметров не много и я могу их вручную набить :-)




Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
если прибавить четыре к четырём будет:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru