[发明专利]基于定时器录波的串口通讯方法有效
申请号: | 201410002214.2 | 申请日: | 2014-01-03 |
公开(公告)号: | CN103699509A | 公开(公告)日: | 2014-04-02 |
发明(设计)人: | 陈星;刘笑菲;吴章宪 | 申请(专利权)人: | 烟台东方威思顿电气有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 烟台双联专利事务所(普通合伙) 37225 | 代理人: | 梁翠荣 |
地址: | 264000 *** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 定时器 串口 通讯 方法 | ||
1.一种基于定时器录波的串口通讯方法,包括模拟串口的接收过程和模拟串口的发送过程,其特征在于模拟串口的接收过程为:首先,使用MCU定时器的捕获功能来捕捉接收数据上升沿和下降沿发生的时间,达到录制数据波形的目的;然后,计算捕获到的波形发生时间,得到接收到的数据;发送数据时,根据模拟串口波特率设定定时器周期,启动定时器,每个周期中根据要发送的数据的数据位设定模拟串口发送数据脚的状态,当一个字节的数据发送完成后停止定时器。
2.如权利要求1所述的基于定时器录波的串口通讯方法,其特征在于所述模拟串口的接收过程为:
(1)、将串口接收引脚配置为IO下降沿触发中断,根据中断确定起始位;
(2)、当下降沿中断被触发后,关闭IO下降沿中断,将串口接收引脚重新配置为定时器捕获通道输入引脚,配置“捕获定时器”为上升沿、下降沿同时捕获模式,开启捕获中断,根据捕获发生的时刻录制接收数据的波形;
(3)、根据捕获到的数据波形,处理得到二进制数据。
3.如权利要求1所述的基于定时器录波的串口通讯方法,其特征在于所述模拟串口的发送过程为:
(1)、将串口发送引脚初始化为输出模式,在空闲状态保持高电平;
(2)、当需要发送数据时,根据所需波特率设置定时器周期,根据需要发送数据的高低电平状态,利用定时器延时,将发送引脚置高或者置低,完成一帧数据的发送。
4.如权利要求2所述的基于定时器录波的串口通讯方法,其特征在于其中步骤(2)如下:
(2a)、当下降沿中断被触发后,关闭IO下降沿中断,将串口接收引脚重新配置为定时器捕获通道输入引脚,将该定时器记为“捕获定时器”,根据串口通信的波特率和校验方式配置捕获定时器的计时周期:
, <1>
其中, 表示“捕获定时器”计时周期,表示串口通信波特率,表示起始位位数,表示数据位位数,表示校验位位数,表示停止位位数;
(2b)、配置“捕获定时器”为上升沿、下降沿同时捕获模式,开启捕获中断,开启定时器计数溢出中断,启动“捕获定时器”;
(2c)、当捕获中断被第一次触发时,记录此时定时器捕获的时刻,设为,若, 为数据位最小时间阈值,则认为该次触发为误触发,关闭“捕获定时器”,跳转至步骤(1a);若,则认为数据接收正确,继续执行步骤(2d);
(2d)、当捕获中断被连续触发时,分别记录各个捕获时刻为,其中,表示定时器捕获第N次触发时的数值。
5.根据权利要求2所述的基于定时器录波的串口通讯方法,其特征在于其中程步骤(3)如下:
(3a)、“捕获定时器”计数溢出中断触发后,表示一帧数据已经接收完毕,根据记录的数值,可以得到该帧数据的高低电平持续时间:
<2>
其中,表示低电平数据位持续时间,表示高电平数据位持续时间;表示向下取整;
(3b)、根据的时值,将映射至相应的数据位,设表示起始位,表示数据位的第一位至第八位,如果有校验位,则表示校验位,表示停止位;如果没有校验位,则表示停止位;
由开始,将循环减一,直至,设共循环x次,则
, <3>
继续将循环减一,直至,设共循环y次,则
, <4>
以此类推,继续将循环减一,直至;
(3c)、根据校验位和停止位对接收到的数据进行有效性判断,一帧数据的处理过程结束,跳转至步骤(1a),开始新一帧数据的接收。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烟台东方威思顿电气有限公司,未经烟台东方威思顿电气有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410002214.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种炭/陶复合材料的制造方法
- 下一篇:窗口防盗报警花槽的制造方法