问题Iam在这里与旧线程密切相关:
SerialPort.Open() freezes the system if data was received previously (Compact Framework)
在基于x86的SBC上运行的Windows嵌入式CE 6.0,具有基于16550 UART的4个串行端口(x86 SoC本身的一部分)。
将现场设备连接到定期传输的串行端口。
在本机应用中打开此串口,并继续从连接的设备读取数据。 本机应用程序使用标准的Win CE串行通信API(CreateFile(),SetCommState(),ReadFile()等。
关闭此串口。但是串行数据仍然进入Windows CE系统。
一段时间后再次尝试打开此串口。整个Windows CE系统HANGS。
在调试Windows CE内核之后,由于在端口重新打开后在串行PDD驱动程序中创建了无限循环,因此挂起似乎正在发生。还在调试......
任何人都遇到过这个问题吗?
P.S>即使使用.Net CF SerialPort类,也会出现相同的挂起问题。遵循相同的步骤(使用VS2008中内置的C#SmartDevice控制台类型应用程序)。