大侠们,小菜按照书上标准实例,做了一个pic24fv16单片机的uart串口通信程序,仿真正确,但是下载到单片机运行时,数据无法进入单片机,但是查看中断寄存器,各个设置正确,没有问题呀,下面我把程序负载下面,望大侠们指导,实在是检查不出什么错误了,帮我看看到底是范了什么2b错误,提前谢谢啦!!
测试串口程序(没有正确运行)
#include <p24Fxxxx.h>
#define ISR(mode) __attribute__((interrupt,mode))
void init();
int main(void)
{
init();
while(1)
{
}
return 0;
}
void init()//初始化
{
TRISB = 0x0004; //设置6输入,16输出
U1BRG = 25;
U1MODE = 0x8008;
U1STA = 0x8400;
INTCON1 = 0x8000; //禁止中断嵌套
INTCON2 = 0;
IEC0bits.U1RXIE = 1; //允许UART1收中断
_U1ERIE=1;//接受错误侦错处理中断
}
void __attribute__((__interrupt__,auto_psv)) _U1RXInterrupt()//接收中断
{
U1TXREG=U1RXREG;
_U1RXIF = 0;
}
void ISR(auto_psv) _U1ErrInterrupt(){
_U1ERIF=0;
U1MODE=0;
Nop();
init();
}
|