发明名称 一种基于单片机系统的串行指令的发送方法
摘要 本发明公开了一种基于单片机系统的串行指令的发送方法,包括主循环程序和中断程序;所述中断程序采用定时器中断的方式,使生成串行指令的代码,与实际串行指令发送的代码并行执行,主循环程序包括以下步骤:1)如果有新的一帧数据需要发送,“正在发送”标志没有置位,则把新的一帧数据放入待发缓冲区,置位正在发送标志,然后继续执行后续的代码;2)如果有新的一帧数据需要发送,“正在发送”标志已经置位,则暂不处理新的一帧数据,继续执行后续的代码,等待下一个循环在判断是否可以发送。本发明提供了一种高效的串口指令发送的方法,极大的减少CPU资源的占用,提高了整个系统的效率。
申请公布号 CN105930133A 申请公布日期 2016.09.07
申请号 CN201610241531.9 申请日期 2016.04.19
申请人 南京亚派科技股份有限公司 发明人 许忠元;仇志凌;张明;葛文海
分类号 G06F9/30(2006.01)I 主分类号 G06F9/30(2006.01)I
代理机构 徐州市淮海专利事务所 32205 代理人 华德明
主权项 一种基于单片机系统的串行指令的发送方法,其特征是:包括主循环程序和中断程序;所述中断程序采用定时器中断的方式,使生成串行指令的代码,与实际串行指令发送的代码并行执行,包括以下步骤:1)配置一个定时器中断,设置定时器的时间小于串行指令中一个数据的发送时间;2)在定时器中断中判断“正在发送”标志置位,并且上一个数据发送完毕,则发送一个发送指针指向的一帧中的数据;否则退出中断,并等待下一个中断;3)判断一帧是否发送完毕,如果发送完毕则“正在发送”标识清零,发送指针清零;然后退出中断,并等待下一个中断;如果没有发送完毕,则直接退出中断;主循环程序包括以下步骤:1)如果有新的一帧数据需要发送,“正在发送”标志没有置位,则把新的一帧数据放入待发缓冲区,置位正在发送标志,然后继续执行后续的代码;2)如果有新的一帧数据需要发送,“正在发送”标志已经置位,则暂不处理新的一帧数据,继续执行后续的代码,等待下一个循环在判断是否可以发送。
地址 210000 江苏省南京市高新区新科四路4-8号