|
|
小弟有一段程序,串口都是初始化好了,应该能确定是下面的函数的问题,回不了主函数中,也找不到怎么回事儿。求助啊......
void __irq Uart_Int(void)
{
rSRCPND |= BIT_UART0;
rINTPND |= BIT_UART0;
while(!(rUTRSTAT0&(1<<0)));
flag = rURXH0;
Led1_on();
if(flag=='1') Uart_Printf("Number %c\n",flag);
if(flag=='2') Uart_Printf("Number %c\n",flag);
}
void Uart0_Init(unsigned int baudrate)
{
rGPHCON &= ~((3<<4)|(3<<6));
rGPHCON |= ((2<<4)|(2<<6));
rGPHUP=0x00;
rULCON0 |= 0x03;
rUCON0 = 0x05;
rUBRDIV0 = rPCLK / baudrate / 16 - 1 ;
rURXH0=0;
pISR_UART0 = (unsigned int)Uart_Int;
rINTMSK &= ~(BIT_UART0);
rINTSUBMSK &= ~(BIT_SUB_RXD0);
}
测试发现函数一直在发生接受中断,不知道怎么回事儿......:'( |
|