[an error occurred while processing this directive]
|
проблема более, чем странная
Вот кусок кода:
void CommTask(void *pdata)
{
INT8U err;
pdata = pdata;
Com0Flags = OSFlagCreate(0, &err);
while(1)
{
M1: // вывод диагностики о входе в процедуру
...
OSFlagPend(Com0Flags, COM_RECEIVE, OS_FLAG_WAIT_SET_ANY + СONSUME, COM0_TIMEOUT, &err);
if(err == OS_NO_ERR)
{
M2: // вывод диагностики о входе
...
// просто эхо
Com0GetByte(&data)) Com0PutByte(data);
}
else
{
M3: // вывод диагностики о входе
...
}
}
}
Чудеса заключаются в том, что если не приема, то успешно выводится диагностика (метки M3 и M1).
При передаче хоть одного байта проходим метку M2, видим эхо, проходим метку M3, а дальше все виснет вообще.
Вот это и есть БОЛЬШАЯ НЕПОНЯТНОСТЬ.
E-mail: info@telesys.ru