Цитата(sayberex @ Dec 7 2010, 10:32)

Ну именно так и советуют поступать в документации по Keil RTX(делать высокоприоритетную задачу и будить ее по какому нибуть эвенту который генериться в UART ISR при приходе символа) но от что меня беспокоит в таком случае и проблема в дополнительных затратах в ресурсов тут менее приоритетна допустим мы работаем на скорости 115200 б/c фрейм для одного байта = 1старт бит + 8 бит данных + 1 паритет + 1 стоп бит = 11 бит для передачи одного байта период соответственно равен T = около 10 мкс тость 20 мкс для передачи 2х символов а для скоростей повыше и того меньше будет. В моем мк к примеру UART аж до мегабита раскочегарить можно если те ошибаюсь боюсь что при таком раскладе и 5 пакетов будет принимать только 1 нормально или может я не прав? С чего такие опасения я раскажу я тут писал ModBus TCP(на lwIP) и как заглянул в Ethernet ISR Handler а код там будь здоров или кто то в критическую секцию зашел от мы и начали пропускать наши байты в UART Thread.
При больших скоростях, как мне кажется, лучше уже пользоваться ПДП (если есть конечно). Принимать в буфер а затем уже адрес буфера передавать по mailbox. Собственно без ПДП логика та же: несколько буферов, по очереди прием в один ои них, потом передача по mailbox адреса. Принимающая задача естественно должна позаботиться об освобождении буфера.