今天调试了PIC18F45K80单片机的串口模块,本来以为很简单的,去花了比较长的时间去调试,接上串口,启动串口调试助手,使用以下的配置函数是可以使调试助手收到数据的,但是一直出现单片机发送的数据跟接收到的数据不一致。
void pic_uart_init(void)
{
UART1MD = 0; //使能寄存器
/*端口配置 RC6__TX RC7__RX*/
TRISC6 = 1; //RC6配置为输入,手册中明确说明
TRISC7 = 1; //RC7配置为输入,手册中明确说明
/*波特率配置*/
BAUDCON1bits.BRG16 = 0; //使用8位波特率模式
SPBRG1 = 103; //9600波特率
BAUDCON1bits.ABDEN = 0; //禁止波特率测量
/*接收与发送配置配置*/
TXSTA1 = 0x24; //发送配置
RCSTA1 = 0x90; //接收配置
/*中断配置*/
RC1IE=1; //开启串口中断
}
|