CH582 VINTA电压

最近测试ch582测量电池电压通道。在不开启低功耗的情况下,vinta引脚电压为1.05v左右;如果开启了HAL_SLEEP低功耗模式,vinta引脚电压在0.3v+,同时ADC读取的数值也偏小,不一致,导致根据手册上增益公式计算的电压差别很大。如果在低功耗模式下测量电池电压还需要怎样额外的配置,还是根据实际的adc采集数值自行校准呢?

进入睡眠的时候是无法进行ADC采集的,需要唤醒的时候进行电压的采集。睡眠的时候vinta的电压不是1.05V是没问题的,正常工作的时候才会在1.05V的。

注意使用睡眠功能的时候,可以先唤醒再进行采集,即放在tmos任务中进行ADC电压的采集。



是这样的,使用582开发板测试,只要打开了HAL_SLEEP宏定义(同时屏蔽所有睡眠代码,保持唤醒),vinta引脚电压就在0.35v左右,是不是芯片原本就是这样设置的,还是哪里缺少了配置?


进入睡眠,vinta的电压是不在1.05V的,这是正常的。

同时使用ADC检测的时候也不可能在睡眠的时候进行采集的,肯定是唤醒后再进行采集,唤醒后的vinta的电压是1.05V的。


好的,那如果开启了HAL_SLEEP,代码是自动进入睡眠的。在采集ADC的情况下,使用哪些代码才能,才能确认并保证当前为唤醒状态呢?我是从机开启HAL_SLEEP,定时采集供电电压并上传主机,主从机始终在连接状态。


进入sleep模式的睡眠,蓝牙是可以保持连接的,由协议栈管理进入睡眠和唤醒。

如果有自己的任务需要处理,则通过tmos管理ADC的任务,即将ADC的采集放在TMOS里面就可以了。

TMOS使用参考:

WCH TMOS用法详解 - debugdabiaoge - 博客园 (cnblogs.com)



只有登录才能回复,可以选择微信账号登录