2020-11-05 基于STM8L152R8芯片做低功耗温湿度无线传输产品

本文记录了一次基于STM8L152R8芯片进行低功耗温湿度无线传输产品的开发过程。硬件部分包括SHT20温湿度传感器、BH1750光照度传感器、LORA模块等,软件上基于开源代码增加了无线串口AT指令。在Active-halt模式下,通过优化代码和硬件,功耗从430ua降低到70ua。在调试过程中,发现未正确配置USART引脚导致LORA模块无法发送数据,修复后能成功接收和发射数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近搞一个低功耗的项目,用到STM8L152R8的芯片。

首先硬件方面简单介绍一下:

硬件完全小白,没搞过,这次是从网上花了500块买的别人硬件Demo,特别简单支持超宽低温段码lcd屏带电量显示QYT12429液晶显示和SHT20温湿度传感器,BH1750光照度传感器,以及RT9193-33G降压芯片。

后来几天在这个硬件Demo基础上又花500块找人给重新更新了一次,增加了LORA模块电路(433无线传输模块)和几个三极管的电路,用来控制低功耗状态下给传感器断电。

软件方面简单介绍一下:

在之前的开源SHT20传感器采集软件基础上,增加了lora无线串口AT发送指令,整体代码简单,新手水准。

结果分析:

最终在Active-halt模式下,待机功耗降低到430ua,太高了,看别人的都讲到十几ua。

经过测试发现裸芯片情况下,用下面这段程序代码直接跑。

int main( void )
{
    PWR_FastWakeUpCmd(ENABLE);  //快速唤醒使能
     //所有IO输出低电平
    GPIO_Init(GPIOA, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOB, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOC, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOD, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOE, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值