单片机实现软件复位(软复位)的方法及讨论.pdf

单片机实现软件复位(软复位)的方法及讨论.pdf

  1. 1、本文档共1页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机实现软件复位 (软复位 ) 的方法及讨论 单片机软复位有什么好的方法?如从机收到复位命令(软件命令),程序 怎么使机器复位?虽然要使软件始终处于可控状态 ,最好不要用 ”复位 ”,因为复位 是纯硬件过程 ,软件是不可控的 .但是我们还是要讨论方法,一般流传的方法如 下: 1、放狗; 2 、((void(code*)(void))0x0000)() ; 3、用单片机一个引脚控制点一下 RSTRST ; 4 、用单片机一个引脚控制重新加电; 5、用单片机自带的软件复位指令或内狗指令; 6、goto 大法; 天堂雨林博客对以上方法的意见: 方法 1:放狗是单片机软复位的最好办法,也基本上是唯一的一个办法。但 并不是所有单片机都具备看门狗的功能,也不是一个万全之策。 办法 2 :这不是复位,只是把程序转到地址 0 去执行,不如用一个 JMP 更直 接。目前可能极少数单片机或者用户已经自行添加 Bootload 时用户程序的程序 开始地址并不为 0x0000 ,所以需要查找这些特定单片机的启动地址。在 keilC51 下面可以这样实现: voidsoft_reset(void){((void(code*)(void))0x0000)();} 在需要软件复位的地方使用语句: soft_reset ();一般可实现软件复位。 办法 3 :用软件实现的硬复位。需要牺牲一个单片机引脚,且增加了单片机 外部电路构造的复杂性,很不可取。 办法 4 :类似办法 3,同样需要牺牲一个单片机引脚,且增加了单片机外部 电路构造的复杂性,很不可取。但不能把它单单地当成是复位,应该叫上电复 位。

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档