打印

PIC串口波特率输出不对

[复制链接]
5086|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
my1693|  楼主 | 2010-6-19 17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在调试一个程序,芯片为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才能传完,请问这是为什么,,有知道的前辈请指点一下
沙发
Mary_luo| | 2010-6-19 22:05 | 只看该作者
深奥,楼下的高手上。另,16F886我们价格非常好,可联系。:)

使用特权

评论回复
板凳
XIEYUANBIN| | 2010-6-20 09:57 | 只看该作者
可以发送0XAA看看波形,是否与你要求的相符。

使用特权

评论回复
地板
my1693|  楼主 | 2010-6-20 12:57 | 只看该作者
我发的就是0XAA,波形很正确,就是波特率不对,本该1ms一个字节的,变成了3ms一个字节

使用特权

评论回复
5
youss| | 2010-6-21 15:07 | 只看该作者
确定是12M时钟工作?  PIC16F886默认 < 配置 > 是内部4M时钟!

使用特权

评论回复
6
yewuyi| | 2010-6-21 16:13 | 只看该作者
波形而波波特率不对,首先检测波特率设置是否正确,其次检查震荡电路是否正确。

可以用IO口定时1MS输出一个方波来反推震荡电路的频率是否正确。

使用特权

评论回复
7
zhengxinydc| | 2015-10-26 20:03 | 只看该作者
发0XAA,在哪里看波形呢?学习一下,谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

130

帖子

0

粉丝