|
WINCE4.2下TL16554接收不到字符??
[复制链接]
WINCE4.2下使用TL16554发送字符成功,但有时会出现:我发送1,串口调试工具显示的是F1。
但是接收却没有任何反应。
我的注册表:
;16c554 base=0x28000000
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UART3]
"DeviceArrayIndex"=dword:2
"Irq"=dword:17
"IoBase"=dword:28000000
"IoLen"=dword:8
"Prefix"="COM"
"Dll"="SER2410.Dll"
"Order"=dword:0
"Index"=dword:4
"Priority"=dword:0
"Port"="COM4:"
"DeviceType"=dword:0
"FriendlyName"="Serial Cable on COM4:"
"Tsp"="Unimodem.dll"
"DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00
接收采用EINT5中断,在ARMINT.C中的源码为:
else if(submask &(1<<5))
{
s2410IOP->rEINTMASK |= (1<<5);
s2410IOP->rEINTPEND = (1<<5);
s2410INT->rSRCPND = BIT_EINT4_7;
if(s2410INT->rINTPND & BIT_EINT4_7) s2410INT->rINTPND = BIT_EINT4_7;
return SYSINTR_SERIAL4;
}
16554的串口HW_VTBL结构体为:
const
HW_VTBL Io16552VTbl4 = {
Ser4Init,
SL_PostInitq,
Ser4Deinit,
Ser4Open,
Ser4Close,
SL_GetInterruptTypeq,
SL_RxIntrq,
SL_TxIntrExq,
SL_OtherIntrq,
SL_LineIntrq,
SL_GetRxBufferSizeq,
Ser4PowerOff,
Ser4PowerOn,
SL_ClearDTRq,
SL_SetDTRq,
SL_ClearRTSq,
SL_SetRTSq,
Ser4EnableIR,
Ser4DisableIR,
SL_ClearBreakq,
SL_SetBreakq,
SL_XmitComCharq,
SL_GetStatusq,
SL_Resetq,
SL_GetModemStatusq,
Ser4GetCommProperties,
SL_PurgeCommq,
SL_SetDCBq,
SL_SetCommTimeoutsq
};
请高手帮忙看看,问题会出现在哪里?TL16554寄存器的设置么?
|
|