热度 27
2012-12-21 16:34
1672 次阅读|
3 个评论
最近有个项目上要用到自动检测串行通讯中的波特率,关于这方面的资料好像比较的少,广州周立功单片机发展有限公司有一文章是介绍这个的。我想的方法比较的简单,能实现,但是不是很理想,具体做法是,由于我上位机发过来的数据长度都是一定的(假如是5个字节),那么我在串口接收中断中记录接收的数据,如果接收到的数据是正确,那么记录清零,那么如果是波特率正确,那么所记录接收的数据不会超过5个,但如果波特率不对,那么数据就不正确,记录不会清零,接收的数据就会超过5个,那么这时更改波特率(上位机的波特率是固定的几个),从新接收,接收到正确就固定波特率。前面说到这个做法不理想就是改波特率的过程不能立刻生效,要上位机不停发码才能检测的到。不知道有什么好的方法没有,有待研究。 下面附件中是广州周立功单片机发展有限公司的文章。 交流QQ群:74204669