[an error occurred while processing this directive]
|
Использую uCOS-II на M16C кристалле.
Споткнулся на пустом месте - обмен по UART.
Есть две задачи: приема и передачи. Обе построены примерно одинаково: ожидание флага приема (передачи) OSFlagPend(...) c не нулевым таймаутом для диагностики. Но...
Задача передачи работает как часы, а с приемом творится что-то крайне непонятное. Пока ничего в порт не поступает - успешно сообщает об окончании тайм-аута. При приеме байта, так же успешно делает его обработку, но далее все виснет на процедуре OSFlagPend(...)...
Замена OSFlagPend(...) просто на OSTimeDly(..) просто сказачно меняет картину - все работает.
Бред какой-то, сижу почти 3 дня вставляя разные дианостики (с отладчиком плохо - нет его), но ни хрена не могу понять.
Может кто уже сталкивался с чем-либо подобным ? Прошу поделиться соображениями.
E-mail: info@telesys.ru