打印
[PIC®/AVR®/dsPIC®产品]

PIC16F873A单片机串口通信1M波特率

[复制链接]
2791|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xp9496|  楼主 | 2014-8-5 09:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近调试产品,使用PIC16F873A单片机串口1M波特率,使用中断接收或查询接收都只能收到第一包的前4个数据,如果接收的数据包的长度小于4,则通信正常。请问哪位大侠有没有遇到同样的问题,怎么解决的,谢谢!!
沙发
wangch_sh| | 2014-8-5 10:09 | 只看该作者
波特率太高了,降低一下试试。

使用特权

评论回复
板凳
xp9496|  楼主 | 2014-8-5 15:46 | 只看该作者
降低是可以的,不过要求波特率为1M,而且文档上说明能达到1M的波特率。

使用特权

评论回复
地板
yewuyi| | 2014-8-5 16:15 | 只看该作者
你MCU的时钟频率是多少?

使用特权

评论回复
5
huangxz| | 2014-8-5 17:28 | 只看该作者
波特率高了,要看单片机的 处理能力能不能达到

使用特权

评论回复
6
伏尔加的鱼| | 2014-8-5 17:40 | 只看该作者
1M的波特率估计要求的单片机时钟也到最高频率了,不过最好选择特殊频率的晶振以降低波特率误差,使用一下极限特性的时候往往问题比较多

使用特权

评论回复
7
xp9496|  楼主 | 2014-8-6 08:47 | 只看该作者
16MHz的外部晶振,1MHz波特率配置是没有问题的,因为单片机发送数据,串口调试助手收到的数据是正确的

使用特权

评论回复
8
yklstudent| | 2014-8-6 09:46 | 只看该作者
xp9496 发表于 2014-8-6 08:47
16MHz的外部晶振,1MHz波特率配置是没有问题的,因为单片机发送数据,串口调试助手收到的数据是正确的 ...

都对的话 你还上来说个啥锤子啊

使用特权

评论回复
9
ayb_ice| | 2014-8-6 11:22 | 只看该作者
都说了你的MCU处理能力不够,PC端够是没有问题的

使用特权

评论回复
10
xlsf1048| | 2014-8-6 14:06 | 只看该作者
是不是在中断中处理数据啊

使用特权

评论回复
11
ocon| | 2014-8-6 16:37 | 只看该作者
在很多初学者眼里,单片机执行中断处理程序是不用考虑耗时的。

使用特权

评论回复
12
yewuyi| | 2014-8-6 16:42 | 只看该作者
ocon 发表于 2014-8-6 16:37
在很多初学者眼里,单片机执行中断处理程序是不用考虑耗时的。

在很多只会用C的非初学者眼里,单片机中断和时间是没关系的。

跑不起来就换更快的时钟,还跑不起来就换支持更高振荡频率的芯片。

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝