大牛们,有人用过pic24fv16ka302的单片机没,本人试着做了一个串口调试发送的,仿真没问题。运行老出错,各种乱码,已经简单的不能再简单了,望大家给看看,到底是哪里出问题了,(单片机使用内部8M晶振,波特率9600),代码如下:
#include <p24Fxxxx.h>
#define ISR(mode) __attribute__((interrupt,mode))
#define SYSCLK 8000000
#define BAUDRATEREG2 SYSCLK/32/BAUDRATE2-1//低速,brgh=0算法!
#define BAUDRATE2 9600
void init()//串口初始化
{
TRISB=0x0004; //设置6输入,16输出
U1BRG=104;//BAUDRATEREG2;
U1MODE=0x8000;
U1STA=0x8400;
INTCON1=0x0000; //禁止中断嵌套
INTCON2=0;
_U1ERIE=1; //侦错中断开启
}
int main(void)
{
init();
while(1)
{
U1TXREG=5;
_U1TXIF=0;
while(!U1STAbits.TRMT);//保证发送完毕
}
return 0;
}
void ISR(auto_psv) _U1ErrInterrupt(){
_U1ERIF=0;
U1MODE=0;
Nop();
init();
}
|