[发明专利]一种微控制器UART通信中断的自动恢复方法有效
申请号: | 201010163886.3 | 申请日: | 2010-04-30 |
公开(公告)号: | CN101853187A | 公开(公告)日: | 2010-10-06 |
发明(设计)人: | 李新峰;毛宏建;谢波 | 申请(专利权)人: | 美的集团有限公司 |
主分类号: | G06F11/00 | 分类号: | G06F11/00 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 528311 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 控制器 uart 通信 中断 自动 恢复 方法 | ||
技术领域
本发明涉及UART通信控制领域,特别是一种微控制器UART通信中断的自动恢复方法。
背景技术
目前微控制器MCU的监控纠错方式主要有看门狗、设置软件陷阱、应用冗余指令等方法,其主要是针对软件跑飞的现象进行控制。而在家用电器产品的实际应用过程中,由于电网波动的不确定性,以及部分家用电器产品本身非隔离电源的实际情况,以及个别MCU存在最大的复位电压低于其最低正常工作电压的情况,导致家用电器产品在工作过程中,出现MCU内部特殊寄存器的数据被干扰而改变的现象,导致MCU的UART通信失效,从而引起操作面板操作失效,甚至引起电器损坏。
发明内容
本发明提供一种微控制器UART通信中断的自动恢复方法,以解决现有技术中对UART通信中断不能自动恢复导致电器损坏的技术问题。
本发明采用的技术方案如下:
一种微控制器UART通信中断的自动恢复方法,包括:
(1)在微控制器中定时更新需要发送的数据内容;
(2)在微控制器中定时保存需要发送的数据内容;
(3)把保存需要发送的数据内容放在UART发送数据缓冲寄存器中后,初始化设置UART正常通信的相关特殊寄存器。
其中步骤(1)定时更新需要发送的数据内容和步骤(2)定时保存需要发送的数据内容所在的内存地址不同,但内容一致。
作为一种优选方案,所述步骤(3)为定时执行。
作为一种优选方案,所述步骤(3)在微控制器MCU因受外界电压干扰而出现UART相关特殊寄存器内容被改变,从而导致通信失效时执行。
作为进一步的优选方案,微控制器对UART特殊寄存器进行监控,当监控到UART特殊寄存器异常时,执行步骤(3)。
作为进一步的优选方案,所述步骤(1)和步骤(2)的定时间隔为10毫秒。
作为进一步的优选方案,所述步骤(3)的定时间隔为1秒。
本发明的UART通信失效后自动恢复的软件纠错方法可以大大提高MCU通信的抗干扰能力,确保电器系统安全可靠的工作。
附图说明
图1为本发明本实施例主程序调用通信失效后自动恢复的软件纠错程序流程图;
图2为本发明本实施例通信失效后自动恢复的软件纠错程序流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行进一步详细的说明。
本实施例是以该软件设计方法应用在电磁炉产品上为例进行说明,作为MCUUART通信失效后自动恢复的软件纠错设计方法,确保使系统工作的MCU通信失效后,能够自动重启UART通信,保证电磁炉产品的核心功率器件不损坏和安全。
如图1所示,电磁炉微控制器MCU在主程序循环体中每隔10ms调用一次发送数据更新子程序和发送数据保存子程序,每隔1s调用一次UART通信初始化自动恢复子程序,当调用了UART通信初始化自动恢复子程序,不管UART通信有没有受到干扰而出现通信中断,都能确保系统通信正常,相当于每隔1s重新启动一次UART通信,启动后发送的数据为当前已经更新过的发送数据,这样一来,既不影响正常通信,又能确保UART因干扰而出现通信中断时自动重新启动。
如图2所示,主程序调用UART通信初始化自动恢复子程序后,自动恢复子程序首先把保存过的发送更新数据放到UART发送数据缓冲寄存器中,然后初始化设置UART相关特殊寄存器,并置发送中断使能标志,UART发送中断程序开始工作,并发送当前更新过的正常数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于美的集团有限公司,未经美的集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010163886.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文档格式的转换方法及装置
- 下一篇:虚拟键盘及其动态调整方法、电子设备