搜了下好像坛子里还没人玩这个,个人觉得很有用,特别是产品比较开放的时候可以自动调节波特率,而且也不用愁晶振更换的问题了(例如12M、14M、10M都无所谓..)
点击此处下载
ourdev_630154BNSSDG.doc(文件大小:118K) (原文件名:单片机从机的波特率自适应设置.doc)
原理是测起始位宽度(第一位),并以此为标准设置波特率,呵呵,不是很难哈
(原文件名:串口 TTL电平规范,发送01 s所以低位在前.JPG)
(原文件名:串口 TTL电平规范,发送55.JPG)
注:此办法需要主机发送一个标准信号,例如01H,
我在想一个更好办法,就是多次捕获脉宽,然后取最小值(1B),然后平均~,应该也能实现~~
这种方法并不严谨!很多场合你并不能要求发方给你发送指定数据,大多数是很随意发的
所以采用全学习的串口协议识别模块才是解决之道
采用移花接木的方式将未知串口控制数据或命令转变成预知的控制码输出
而且不限于uart标准规定的几种常用的波特率
而是可以平滑识别300--57600波特率之间任意波特率和频率
http://www.yofeng.com/lrcomctr.asp
-----------------------------------------------------------------------
如果是115200就玩不起来了…
一周热门 更多>