发明名称 | 一种基于单片机系统的串行指令的发送方法 | ||
摘要 | 本发明公开了一种基于单片机系统的串行指令的发送方法,包括主循环程序和中断程序;所述中断程序采用定时器中断的方式,使生成串行指令的代码,与实际串行指令发送的代码并行执行,主循环程序包括以下步骤: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号 |