2017-04-07 28 views
-1

我已將我們的自定義BSP配置爲具有4個COM端口。 在這3個COM端口中工作正常。Windows CE 6.0:串行端口IRQ 6,3E8僅傳輸16個字節

我有下面的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(中斷標識寄存器)「Transmitter Holding Register Empty Interrupt」事件發生。

但是這不會發生。

有關如何繼續此操作的任何想法。

回答

0

我似乎記得'現代'UARTS有一個16字節的發送(和接收)緩衝區,以減少主CPU的中斷。這可以解釋爲什麼您可以在停止之前傳輸16個字節。至於你的定製板不會中斷的原因,我會假設你沒有將UART的中斷線連接到你的主處理器。