Windows CE 6.0:串行端口IRQ 6,3E8仅传输16个字节

时间:2017-04-07 11:57:39

标签: windows windows-ce

我已将自定义BSP配置为具有4个COM端口。 这3个COM端口中的工作正常。

我遇到以下COM端口问题:

 [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial3]
                        "SysIntr"=dword:16
                        "IoBase"=dword:03E8
                        "IoLen"=dword:8
                        "DeviceArrayIndex"=dword:2
                        "Prefix"="COM"
                        "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
                        "Dll"="Com16550.Dll"
                        "Order"=dword:0
                        "Flags"=dword:10 ; User MOde: DEVFLAGS_LOAD_AS_USERPROC

任何超过16个字节的传输都会被截断。在调试时,我们发现在发送前16个字节后,它等待IIR(中断标识寄存器)“发送器保持寄存器空中断”事件发生。

但这不会发生。

有关如何处理此事的任何想法。

2 个答案:

答案 0 :(得分:0)

我似乎记得现代' UARTS有一个16字节的发送(和接收)缓冲区,以减少对主CPU的中断。这可以解释为什么在停止之前可以传输16个字节。

至于您的自定义电路板没有中断的原因,我认为您还没有将中断线从UART接线到主处理器。

答案 1 :(得分:0)

这是一个BIOS问题,它在更新BIOS后得到解决