Есть вот такой исходничек https://github.com/probonopd/arduino-in ... to_hex.ino
Посылает из ПК по сом-порту данные коды кнопки пульта, а мк воспроизводит их на ик-диод, - своего рода пульт универсальный.
Переделываю его под свою среду CVAVR.
Вроде как все норм идет, но вот выдаёт он не то что нужно - подозреваю что ошибка в этом участке кода. Но не знаю чем заменить функцию strtol.
Код: Выделить всё
void go_ir()
{
uint16_t array[80];
uint16_t j = 0;
uint8_t i = 0;
if ( !strncmp(rx_buffer0, "AVR_SIR", 7) )
{
char *p = rx_buffer0+4; //указываем начало
while ( (p = strchr(p,' ')) != NULL ) //ждём пока недойдем до пробела и записываем номер строки
//теперь нужно склеить от начла до конца и записать в массив
array[j++] = atol(p); // это функция ту что я применил
// array[j++] = strtol(p, &p, 16); //а вот это родная в ардуине и каким аналого её заменить незнаю
ir_start(array); //посылаем склееные части
/*
putsf("SENT ");
for ( i = 0; i < j; i++ )
{
putsf("0x");
printf ("%c",array[i]);
putsf(" ");
}
*/
}
Пологаю, что мне нужно взять символы с начало "*р" и склеить их до символов "р" ...а вот как это сделать не знаю...
Не подскажите?