STM8S 低功耗(1)

STM8S的低功耗模式有4种。 关系如下。

 

本次使用的停机(HALT)

使用了内部定时器,外部中断,LED指示是否进入低功耗。

在while循环中设置如下

 1 while(1)
 2 {
 3           if(!IR_IN)  // 外部中断产生
 4         {
 5                       执行程序...
 6           
 7               IR_IN = 1; 
 8         }
 9         else
10         {
11             TIM1_Cmd(DISABLE); // 关闭定时器
12             ClrLED;  //关闭LED
13             _asm("halt"); // 进入停机模式
14             SetLED;      // 开启LED
15         }   
16 }

在主函数中检测到 外部中断了,执行相关函数。

函数自行完成后,进入else

其中如果使用halt模式,可以不写11行。如果使用WFI模式需要写11行

在else中 13行开起停机模式。

如果停机模式正常进入,LED灯是熄灭的,如果没有进入停机模式,LED灯被开启。 用来判断状态。

 

测试:

按键触发,外部中断引脚产生下降沿中断,点亮LED灯(在中断函数中点亮的)

当按键弹起后LED灯熄灭。。

由于测试工具限制,只能确保电流低于1ma。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值