这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 初学者关于44b0串口的请教!

共1条 1/1 1 跳转至

初学者关于44b0串口的请教!

菜鸟
2004-10-13 20:03:31     打赏

我现在吧arm当单片机用,不加超作系统,用串口传送数据,现在出现的情况是进串口中断接受数据以后程序不返回中断前的函数,而每次都返回到了延时程序,请大家帮我看看啊!串口接受和发送的数据是正确的,我用查询发送,中断接收。

谢谢

初始化程序

void Uart_Init(int mclk,int baud) { int i; if(mclk==0) mclk=MCLK; rUFCON0=0x0; //FIFO disable rUFCON1=0x0; rUMCON0=0x0; rUMCON1=0x0; //UART0 rULCON0=0x3; //Normal,No parity,1 stop,8 bit rUCON0=0x245; //rx=edge,tx=level,disable timeout int.,enable rx error int.,normal,interrupt or polling rUBRDIV0=( (int)(mclk/16./baud + 0.5) -1 );

//UART1 rULCON1=0x3; rUCON1=0x245; rUBRDIV1=( (int)(mclk/16./baud + 0.5) -1 ); rINTCON=0x5; //Non-vectored,IRQ enable,FIQ disable rINTMOD=0x0; //All=IRQ mode

pISR_URXD0=(unsigned)Uart0_RevInt; pISR_URXD1=(unsigned)Uart1_RevInt; rINTMSK=BIT_GLOBAL; //mask all INT rINTMSK=~(BIT_GLOBAL|BIT_URXD1|BIT_URXD0); //start uart0,uart1 receive INT

for(i=0;i<100;i++); } 中断程序

void __irq Uart0_RevInt(void) { rI_ISPC=BIT_URXD0; //clear pending bit Uart0_RevBuff[Uart0_Count]=RdURXH0(); Uart0_Count++;

}




关键词: 初学者     关于     串口     请教    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]