В примере freeMODBUS есть реализация приема данных посредством буфера и переменной, говорящей о наличии события (приема данных). Для соответствия спецификации MODBUS, там есть еще таймер для обмера t3.5. И все это с использованием прерываний.
Для правильного вживления freeMODBUS во freeRTOS получается мне придется переделать весь код модбаса? Пересылать данные из обработчика приема байтов УАРТа в Модбас-задачу посредством xQueueSendFromISR()...? Или достаточно в существующем коде на входе и выходе обработчиков прерывания вызывать функции vTaskSuspendAll () и xTaskResumeAll () соответственно?
Как правильнее переделать код? Подскажите плиз. И если не сложно, как можно конкретнее. Спс.
Сообщение отредактировал Цырен - Aug 4 2008, 14:14
|