• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 слов работает бесконечно.
Есть у кого-нибудь какие-нибудь идеи как решить данную проблему?
Спасибо
 
Сверху Снизу