PIC之休眠问题

2019-04-15 11:42发布

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不打开我们保持我们原来的值.