关闭&然后打开串口驱动程序挂起Windows CE 6.0

时间:2014-04-08 19:21:01

标签: windows-ce

问题Iam在这里与旧线程密切相关:

SerialPort.Open() freezes the system if data was received previously (Compact Framework)

  1. 在基于x86的SBC上运行的Windows嵌入式CE 6.0,具有基于16550 UART的4个串行端口(x86 SoC本身的一部分)。

  2. 将现场设备连接到定期传输的串行端口。

  3. 在本机应用中打开此串口,并继续从连接的设备读取数据。 本机应用程序使用标准的Win CE串行通信API(CreateFile(),SetCommState(),ReadFile()等。

  4. 关闭此串口。但是串行数据仍然进入Windows CE系统。

  5. 一段时间后再次尝试打开此串口。整个Windows CE系统HANGS。

  6. 在调试Windows CE内核之后,由于在端口重新打开后在串行PDD驱动程序中创建了无限循环,因此挂起似乎正在发生。还在调试......

    任何人都遇到过这个问题吗?

    P.S>即使使用.Net CF SerialPort类,也会出现相同的挂起问题。遵循相同的步骤(使用VS2008中内置的C#SmartDevice控制台类型应用程序)。

0 个答案:

没有答案