This project is read-only.
1
Vote

Serial Port RX fails on WC 2013

description

Create a program to write from one serial port and read to another (or read/write the same serial port using a loopback cable), eventually the read will fail.

Using the Timeline Kernel debugger, the SysInt for RX is clearly being raised, and then handled by the mdd's SerialDispatchThread function

mdd.c:SerialDispatchThread
while (alive)
{
Wait(hSerialEvent, INFINITE)
HandleEvent
InterruptDone
}

The issue stems when a SysInt0 or SysInt1 is raised within 5us after the RX SysInt.
When this occurs, the hSerialEvent is never raised.

By changing the Wait to timeout (in the Mdd:SerialDispatchThread), and allowing it to call the InterruptDone method, the next RX SysInt event will then correctly get raised and handled.

Any help/ideas to what may be going wrong?

comments

dvescovi wrote Oct 16, 2014 at 11:14 AM

This appears to only be an issue with the WEC2013 unreleased code and NOT the WEC7 code posted here.

dvescovi wrote May 1, 2015 at 9:28 PM

This was a Microsoft issue and is now resolved by installing the latest QFE's.