s3c2410的wincebsp添加串口支持(编辑修改稿)内容摘要:

22 )。 v_pIOPregsrGPHUP |= 0x03。 pHWHeadrDTRport = (volatile unsigned int *)amp。 (v_pIOPregsrGPHDAT)。 pHWHeadrDSRport = (volatile unsigned int *)amp。 (v_pIOPregsrGPHDAT)。 pHWHeadDtrPortNum = 0。 pHWHeadDsrPortNum = 1。 else volatile IOPreg *s2410IOP。 s2410IOP = (volatile IOPreg *)IOP_BASE。 EnterCriticalSection(amp。 (pHWHeadRegCritSec))。 s2410IOPrGPHCON amp。 = ~(0x30 | 0x32 | 0x34 | 0x36 /*| 0x312 | 0x314*/)。 // clear uart 0 rx, tx s2410IOPrGPHCON |= (0x24 | 0x26 /*| 0x112 | 0x014*/)。 s2410IOPrGPHCON |= (0x20 | 0x22 )。 s2410IOPrGPHUP |= 0x03。 pHWHeadrDTRport = (volatile unsigned int *)(IOP_BASE+0x74)。 //s2410IOPrGPHDAT pHWHeadrDSRport = (volatile unsigned int *)(IOP_BASE+0x74)。 电子软件开发 网 WinCE 专题 电子软件开发网 《技术聚焦》 杂志 第 4 期 Page 6 of 13 pHWHeadDtrPortNum = 0。 pHWHeadDsrPortNum =1。 endif } LeaveCriticalSection(amp。 (pHWHeadRegCritSec))。 } 接着搜索: SL_Init( PVOID pHead, // @parm points to device head PUCHAR pRegBase, // Pointer to 16550 register base UINT8 RegStride, // Stride amongst the 16550 registers EVENT_FUNC EventCallback, // This callback exists in MDD PVOID pMddHead, // This is the first parm to callback PLOOKUP_TBL pBaudTable // BaudRate Table ) 在 PS2410_UART_INFO pHWHead = (PS2410_UART_INFO)pHead。 这一句后面添加: PSER_INFO pHWHead1 = (PSER_INFO)pHead。 再搜索: if ( pHWHeadUseIrDA ) { pHWHeadbINT = BIT_UART2。 pHWHeadbTxINT = INTSUB_TXD2。 pHWHeadbRxINT = INTSUB_RXD2。 pHWHeadbErrINT = INTSUB_ERR2。 if USEVIRTUAL pHWHeads2410SerReg = (S2410_UART_REG *)v_pUART2regs。 pRegBase = (PUCHAR)pHWHeads2410SerReg。 else pRegBase = (PUCHAR)UART2_BASE。 pHWHeads2410SerReg = (S2410_UART_REG *)pRegBase。 endif } else { 把这其中的代码修改为以下代码 } if(pHWHead1dwIOBase == 0x50004000) { pHWHeadbINT = BIT_UART1。 电子软件开发 网 WinCE 专题 电子软件开发网 《技术聚焦》 杂志 第 4 期 Page 7 of 13 pHWHeadbTxINT = INTSUB_TXD1。 pHWHeadbRxINT = INTSUB_RXD1。 pHWHeadbErrINT = INTSUB_ERR1。 if USEVIRTUAL pHWHeads2410SerReg = (S2410_UART_REG *)v_pUART1regs。 pRegBase = (PUCHAR)pHWHeads2410SerReg。 else pRegBase = (PUCHAR)UART1_BASE。 pHWHeads2410SerReg = (S2410_UART_REG *)pRegBase。 endif } else if(pHWHead1dwIOBase == 0x50008000) { pHWHeadbINT = BIT_UART2。 pHWHeadbTxINT = INTSUB_TXD2。 pHWHeadbRxINT = INTSUB_RXD2。 pHWHeadbErrINT = INTSUB_ERR2。 if USEVIRTUAL pHWHeads2410SerReg = (S2410_UART_REG *)v_pUART2regs。 pRegBase = (PUCHAR)pHWHeads2410SerReg。 else pRegBase = (PUCHAR)UART2_BASE。 pHWHeads2410SerReg = (S2410_UART_REG *)pRegBase。 endif } else { pHWHeadbINT = BIT_UART0。 pHWHeadbTxINT = INTSUB_TXD0。 pHWHeadbRxINT = INTSUB_RXD0。 pHWHeadbErrINT = INTSUB_ERR0。 if USEVIRTUAL pHWH。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。