PIC串口波特率输出不对,请教一下各位前辈这是怎么回事

2020-02-09 11:33发布

最近在调试一个程序,芯片为PIC16F886,12M的芯片,9600的波特率,波特率的设置应该没问题、
SPBRG = 0x4D;  //(12M/16/9600)-1=77
RCSTA = 0x90; //SPEN = 1; CREN = 1;
TXSTA = 0x24; //TXEN = 1;BRGH = 1;
PIE1  |= 0x20; //RCIE = 1;

软件仿真时波特率完全正确,发送一个字节大概1ms,而硬件仿真和实际运行时,波特率却不正确,用示波器看了一下,差不多一个字节要3mS才能传完,因此用串口调试时每次都能收到两个字节,郁闷啊!请问这是为什么,,有知道的前辈请指点一下!谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
youmcu
1楼-- · 2020-02-09 16:56
注意时钟配置: PIC16F886默认为内部4M时钟!
my1693
2楼-- · 2020-02-09 22:54
问题解决了,外部晶振出了问题,单片机自动切换到内部的4M时钟了

一周热门 更多>