PIC单片机极端测试的时候串口完全不能进入中断

[复制链接]
3181|15
 楼主| tcc8073 发表于 2014-11-15 15:17 | 显示全部楼层 |阅读模式
PIC单片机极端测试的时候串口完全不能进入中断,听说是PIC单片机的设计BUG,有没有哪位遇到过这样的问题,遇到的高手是怎么解决这个问题的.
yklstudent 发表于 2014-11-15 17:12 | 显示全部楼层
甚么极端测试能说明下
 楼主| tcc8073 发表于 2014-11-15 18:52 | 显示全部楼层
就是在定时发送数据的时候不断人为的往同一个串口插入发送数据,也就是不断的网往串口发送数据,造成一个数据还没有发送完,新的数据又往串口发送数据等情况。
yklstudent 发表于 2014-11-15 20:25 | 显示全部楼层
你研究透了PIC了吗?
没有的话,就别轻易怪PIC存在BUG
多找找自己的问题,别动不动都是BUG
 楼主| tcc8073 发表于 2014-11-16 07:24 | 显示全部楼层
楼上兄弟不要这么激动,我做过实验才这么说的,至于研究透彻PIC,我还真不敢说,但是总的允许我把不同观点表达出来,我这人不是什么唯芯片论的人,我用过的单片机有51,PIC,MSP430,合泰,义隆,NEC,2440,2410,STM8,STM32等,在不同的场合使用适当的IC,我从来不参加芯片派系斗争,什么IC都有自己的优势和劣势,我现在还在用51做一些工业控制的产品,希望大家就我提出的问题给些建议,寸有所长,尺有所短嘛,大家平常心,欢迎指点。
yklstudent 发表于 2014-11-16 08:20 | 显示全部楼层
PIC的硬件串口缓冲区好像只有3个,上位机发送数据太快
PIC来不及读取数据,造成串口硬件接收缓冲区溢出时,
这时串口就挂了的,这个手册中明显已经说明的,
不知道你是否考虑过这个。
仔细研究下,你看看是否是这个导致的就知道了
MOn51 发表于 2014-11-16 13:19 | 显示全部楼层
如果真有这个BUG,PIC早就死了。
gx_huang 发表于 2014-11-16 13:30 | 显示全部楼层
这个即使是BUG,也是由于错误操作导致的。
 楼主| tcc8073 发表于 2014-11-16 15:22 | 显示全部楼层
yklstudent兄有没有好的办法能做到当出现串口缓存溢出的情况下把串口回复过来,谢谢!
yklstudent 发表于 2014-11-16 15:24 | 显示全部楼层
芯片手册USART串口部分,不是有讲此问题的解决办法嘛
多仔细看看手册就知道了
yewuyi 发表于 2014-11-17 08:51 | 显示全部楼层
这根本不是BUG,如果你用过别的型号芯片,那么任何一个芯片都存在类似的问题,或者说:这个世界上目前还没有那款芯片能解决你说的这个问题。
 楼主| tcc8073 发表于 2014-11-17 14:05 | 显示全部楼层
请问下,各位在处理这个问题的时候有什么经验,能不能指导下,谢谢!
yewuyi 发表于 2014-11-17 15:18 | 显示全部楼层
tcc8073 发表于 2014-11-17 14:05
请问下,各位在处理这个问题的时候有什么经验,能不能指导下,谢谢!

1、提高MCU的工作频率,并同时尽量提高UART的波特率,这样MCU发送数据的能力提高了。
2、发送时数据加载是受你自己的代码控制的,自己编写代码时将数据加载速度控制在合理范围内。
lanmp 发表于 2014-11-17 15:39 | 显示全部楼层
上一个数据还没发送完的时候,如何发送下一个数据?
yewuyi 发表于 2014-11-18 10:09 | 显示全部楼层
lanmp 发表于 2014-11-17 15:39
上一个数据还没发送完的时候,如何发送下一个数据?

冲掉了发送缓冲区的数据了呗。。。
 楼主| tcc8073 发表于 2014-11-24 11:09 | 显示全部楼层
在把数据添加到缓存的时候限制数据个数的范围也能解决一部分问题.谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:诚信,务实,专业,创新

179

主题

1358

帖子

7

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