[PIC®/AVR®/dsPIC®产品] PIC16F873A单片机串口通信1M波特率

[复制链接]
 楼主| 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的时钟频率是多少?
huangxz 发表于 2014-8-5 17:28 | 显示全部楼层
波特率高了,要看单片机的 处理能力能不能达到
伏尔加的鱼 发表于 2014-8-5 17:40 来自手机 | 显示全部楼层
1M的波特率估计要求的单片机时钟也到最高频率了,不过最好选择特殊频率的晶振以降低波特率误差,使用一下极限特性的时候往往问题比较多
 楼主| xp9496 发表于 2014-8-6 08:47 | 显示全部楼层
16MHz的外部晶振,1MHz波特率配置是没有问题的,因为单片机发送数据,串口调试助手收到的数据是正确的
yklstudent 发表于 2014-8-6 09:46 | 显示全部楼层
xp9496 发表于 2014-8-6 08:47
16MHz的外部晶振,1MHz波特率配置是没有问题的,因为单片机发送数据,串口调试助手收到的数据是正确的 ...

都对的话 你还上来说个啥锤子啊
ayb_ice 发表于 2014-8-6 11:22 | 显示全部楼层
都说了你的MCU处理能力不够,PC端够是没有问题的
xlsf1048 发表于 2014-8-6 14:06 | 显示全部楼层
是不是在中断中处理数据啊
ocon 发表于 2014-8-6 16:37 | 显示全部楼层
在很多初学者眼里,单片机执行中断处理程序是不用考虑耗时的。
yewuyi 发表于 2014-8-6 16:42 | 显示全部楼层
ocon 发表于 2014-8-6 16:37
在很多初学者眼里,单片机执行中断处理程序是不用考虑耗时的。

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

跑不起来就换更快的时钟,还跑不起来就换支持更高振荡频率的芯片。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部