当前位置: 代码迷 >> 单片机 >> 单片机定时五秒长按按键有效进入执行程序否则不足5秒或者没有按键则执行另一程序
  详细解决方案

单片机定时五秒长按按键有效进入执行程序否则不足5秒或者没有按键则执行另一程序

热度:289   发布时间:2016-04-28 14:44:02.0
单片机定时5秒长按按键有效进入执行程序否则不足5秒或者没有按键则执行另一程序
单片机最好是NXP1778其他也可以,我参考一下定时5秒长按按键有效进入执行程序否则不足5秒或者没有按键则执行另一程序,提供点思路或者代码,谢谢了
------解决思路----------------------
首先将你的FLASH划分为三个区
例如:
A      0x00000000
B      0x0000 1000
C      0x0000 8000
区域A用于存放BOOT程序,即引导进入区域B还是进入C的程序,上电后MCU运行区域A,开启定时器,若有长按5秒操作跳到地址0x0000 8000即C区域执行。否则跳到0x0000 1000地址执行B区域代码。在跳转之前记得关闭打开的中断。

B、C区域的代码在编译的时候定位好首地址,在MDK或IAR下都可以设置,去百度找找。最后下载的时候设置下载到相应区域就行了。这样ABC三段代码都可以使用MCU全部的RAM。而且你也可以在A程序中实现IAP编程,由它来实现程序下载的功能,以后更新B和C的程序就会很方便。
  相关解决方案