在线时间0 小时
UID345401
注册时间2012-3-5
NXP金币0
该用户从未签到
新手上路

- 积分
- 5
- 最后登录
- 1970-1-1
|
请问哪位高人通过直接访问MC13224的UART寄存器,实现串口数据的首发控制?
以下是我的程序代码,我希望通过直接控制UART寄存器,利用中断实现对串口的数据收发。
UART1_REGS_P->Ucon = 0x00000000; /* 1 stop bit */
UART1_REGS_P->Ubr = 0x0003270F; /* 1200 bps */
UART1_REGS_P->Urxcon = 0x00000005; /* Rx Buffer Level */
UART1_REGS_P->Utxcon = 0x00000005; /* Tx Buffer Level */
UART1_REGS_P->Ucts = 0x00000000;
UART1_REGS_P->Ucon |= 0x00006003; /* Enable Tx and Rx */
tmpLong = UART1_REGS_P->Udata;
IntAssignHandler(gUart1Int_c, (IntHandlerFunc_t)Uart1_Isr); /* UART1 ISR */
ITC_SetPriority(gUart1Int_c, gItcNormalPriority_c);
ITC_EnableInterrupt(gUart1Int_c); /* Enable UART1 Interrupt */
IntEnableIRQ();
其中Uart1_Isr是串口中断程序,应该是收到数据后会进入该中断。
可现在的调试结果是:打开Tx和Rx后,无法进入Uart1_Isr中断程序;可是一旦不打开Tx或Rx,状态寄存器的TxRdy或RxRdy就会置位,反而进入中断后就死循环了,除非在中断后打开才能清除。
请问该如何解决?有没有实例呀?
|
|