完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
调试过程:
STOP模式休眠功耗0.52mA 1.去掉ADC上拉电阻,对功耗无影响 2.去掉LED灯可以降低0.25mA 3.取消I2C,串口,ADC对功耗影响不大 4.取消DIO0~DIO3,RELAY ,影响不大 5.SPI,LRST对功耗影响不大 6.取消OLED屏幕初始化对功耗影响不大 7.取消DMA,ADC,串口初始化对功耗影响不大 8.去掉LDO,AT24C02存储芯片对功耗影响不大 主函数如下: while(1) { while(!(HAL_GetTick()-node_rec_time > 10000 && NetStatus == JIONDONE))//时间到达&&入网完成才退出任务进入休眠 { SlaveSendTask(); //节点发送数据任务 } /*1.lora模块等待10s之后进入睡眠模式*/ SX1276LoRaSetOpMode( RFLR_OPMODE_SLEEP ); //注释掉(不休眠)是1.88mA,加入此句(休眠)是0.7uA,在rtc回调函数里面在改为标准模式 /*2.配置引脚为模拟输入,不上拉,(SPI、LRST还是默认状态)*/ usart_deinit(&huart1); /*配置串口引脚为模拟*/ usart_deinit(&huart2); i2c_deinit(&hi2c2); /*配置I2C引脚为模拟*/ adc_deinit(&hadc); /*配置I2C引脚为模拟*/ gpio_deinit(); /*配置GPIO引脚为模拟(含时钟引脚)*/ /*2.MCU设置为STOP模式*/ HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); /*3.时间到达后,RTC中断唤醒MCU,LORA配置为标准模式*/ SystemClock_Config(); SX1276LoRaSetOpMode( RFLR_OPMODE_STANDBY ); /*唤醒lora,进入标准模式*/ /*4.初始化*/ //MX_GPIO_Init(); /*不能初始化所有GPIO*/ gpio_init(); /*部分GPIO初始化*/ MX_USART1_UART_Init(); /*串口初始化*/ HAL_UART_MspInit(&huart1); HAL_I2C_MspInit(&hi2c2); /*i2c初始化*/ MX_I2C2_Init(); HAL_ADC_MspInit(&hadc); /*adc初始化*/ MX_ADC_Init(); } |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3457 浏览 1 评论
8995 浏览 16 评论
4050 浏览 18 评论
1103浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 16:01 , Processed in 2.113064 second(s), Total 50, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号