stm32 - STM32温度传感器断电
问题描述
我正在使用内部 ADC 温度传感器,在没有传感器处于停止模式的低功率设备中,uController 消耗大约 4 uA,但是当温度传感器开启时,消耗高达 8-9 uA,问题是我无法转动传感器关闭/我刚刚通过 stmcube 从一开始就将其设置为关闭来测量关闭电流
我正在寻找一个可以关闭温度传感器的代码,直到现在我已经测试了这些:
1-
HAL_ADC_Init(&hadc);
hadc.Lock=HAL_UNLOCKED;
__HAL_UNLOCK(&hadc);
HAL_ADCEx_DisableVREFINTTempSensor();
2-
ADC1->CR&=0X00000000;
ADC->CCR&=~(1<<23);
我更喜欢使用 HAL,它似乎不会切断传感器电源
解决方案
ADC1->CR &= 0x00000000;
根据您使用的控制器,您的线路在我看来是错误的。
通常有一个位来禁用需要设置的 ADC,而不是写全 0。试试ADC1->CR = (0x01 << 1);
吧。如果您有 ST Micro 为您的处理器编写的定义ADC1->CR = ADC_CR_ADDIS;
应该相同但更具可读性。禁用 ADC 后,您将能够TSEN
关闭ADC->CCR
.
推荐阅读
- vulkan - 在vulkan中同步顶点缓冲区?
- ms-access - Microsoft Access 空白不是空白
- javascript - 如何访问子类组件模板中的超类属性?角
- dart - TextField 点击更改 Flutter 中的切换
- android - 如何在 Firebase Firestore 中使用查询
- python - 如何在odoo上重新创建失败的邮件
- flutter - FloatingActionButton onPressed 未触发
- c - 读取键值对的 fscanf 问题
- python - 使用一个 glob.glob 而不是多个 glob.glob
- sql - 根据列中的日期值排除日期