PIC之休眠问题

1.休眠操作

只要执行  asm("SLEEP");或者 SLEEP即可;

2 休眠之后gpio状态

休眠后保持GPIO的状态

3 唤醒之后程序从哪里开始执行

 一般MCLR唤醒是复位 从新开始执行程序

其他的都是如果某项能唤醒单片机的中断已经开了,当总中断允许位GIE为1的时候,单片机被唤醒后可以进入中断程序中去,而当GIE位为0的时候,单片机也可以被唤醒,但是是执行下面的语句,而不能进入中断程序中去。

4 我们怎么判断是上电复位还是SLEEP后复位

STATUS上有两个位 TO、PD,

当标志位TO=1时,表示表示已经操作了上电复位或者是执行了CLRWDT或者SLEEP指令,

            当TO=0时,表示发生了看门狗复位。

当标志位PD=1时表示操作了上电复位或者是执行了CLRWDT指令,

当PD=0时,表示执行了SLEEP指令。

 

SLEEP指令之后复位 时候 T0=1 PD=0

 

PCON上有两个标志位是POR和BOR,分别表示的是上电复位和欠压复位标志。

 

5复位唤醒时我们的RAM怎么处理的

编译的时候clear bss打开,编译系统编译的时候会在初始化之前自动加上一些对RAM清零的代码,这样每次复位都会把RAM数据都清零,我用的是PICC 9.8

编译的时候clear bss不打开我们保持我们原来的值.

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值