另外一个问题/-----------------系统休眠函数-------------------------------------- inline void OS_wait(void) { __asm volatile ("nop"); __asm volatile ("nop");}
inline void OS_sleep(void) {
* (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x35 + 0x20) |= 1 << 5; __asm volatile ("sleep");} 这段语句里的* (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x35 + 0x20) |= 1 << 5; 实在看不懂 我只知道asm volatile ("sleep");表示进入休眠状态的意思,可是究竟是哪一种,是在不懂,这段语句并没有直接调用sleep.h的函数,也没有 MCUCR=(0<<sm2)|(1<<sm1)|(0<<sm0);这种比较容易看懂的设定,而是一大长串语句,我实在看不懂,请大家救救我吧
我想确定是掉电模式还是省电模式,因为这关系到能否使用定时器进行唤醒,因为我要修改睡眠时间,如果是掉电模式,就可以从定时器着手了,再次说一下真心的谢谢,希望大家能帮帮我
|