• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обмен данными через UART

nikolz

Well-known member
Добрый день,
Возникла проблема с передачей данных через UART с вызовом задачи.
вот такой пример:
--------------------------------
static void ICACHE_FLASH_ATTR user_procTask(os_event_t *events)
{
int i;
if (events->sig==UART0)
{
uint8 key=data.key;
if (key==ENQ){
uint16 slen=10;
uart0_tx_array(pptr,slen);
}
}
}
------------------------
Вызов задачи происходит из функции прерывания приема UART0
На компе циклически посылается на ESP команда на передачу данных
Из колбека приема по UART0 вызывается задача,
в которой выполняется передача массива.
Проблема в том , что если размер массива больше 10 слов,
то цикл прерывается примерно на 20 запросе.
При длине 10 слов работает бесконечно.
Есть у кого-нибудь какие-нибудь идеи как решить данную проблему?
Спасибо
 
Сверху Снизу