Для сбора информации(телемеханика) написал вот такие заголовки для программы в 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. Нужно именно легкое/несложное решение, так как параметров не много и я могу их вручную набить :-)