|
上一贴有前辈建议我根据手册中说明的进入和退出STOP的顺序配置ADC。看后很有用,但也增加了新的疑问。我的设计中有两种进入STOP的应用场景。 1.在第一种场景中,需要长时间停留在STOP中,进入STOP前按照手册的那个顺序执行的,但在退出STOP时,并没有作循环等待“REGLPF=0”的操作,因为在HAL库和LL库函数的例程里并没有看到等待这个位的操作所以忽略了,请问“REGLPF”位恢复为0大概需要多少时间?我用外部中断退出STOP时,中断回调函数入口大概有4到5条语句执行后(系统时钟16MHz),这个时长是否足够保证“REGLPF”位恢复为0呢?也就是利用执行语句的延时是否可以保证后面的程序运行可靠呢? 2.在第二种低功耗应用场景中,需要用LPTIM定时唤醒STOP,LPTIM的定时中断周期大约为4ms,在该中断回调函数中执行ADC采样操作,读取采样数据后就执行停止转换ADSTP=1,并将ADEN清0使ADC关闭(虽然我配置AUTOFF=1,但也执行了这个关闭动作),但不执行关闭ADC调压器的操作,退出中断后回到主循环,然后进入STOP等待下一个定时中断的唤醒到来。因为进入前没有手动关闭ADC调压器,所以外部中断唤醒STOP后,也不执行开启ADC的调压器操作。主要是不想在反复开关ADC调压器上占用过多的等待时间,所以始终没执行ADVREGEN清0的操作。请问我这种不关闭ADC调压器就进入STOP的操作方式可靠吗? 3.我配置的是ULP=1且FWU=1的快速唤醒方式,按照说明退出低功耗模式是忽略VREFINT,但VREFINT不稳定会影响ADC,我第二种应用场景中,中断唤醒后在执行开始ADC前会有一些执行语句,用这些执行语句的延时是否可以保证VREFINT稳定?而且我采用的是AUTOFF=1WAIT=1的模式,每次唤醒中断回调函数中开始ADC采样的时候,只发送ADSTART=1然后等待转换结束标志去读数据,这种使用方式是否可以保证VREFINT已经稳定,ADC获得稳定数据呢 |
stm32H503CBT6 ADC在某次上电后波动变大了一些。
STM32H743 的ADC线性校准问题
STM32L431CCT6芯片的ADC差分采集
stm32 定时器外部时钟1的TI1FP1及TI2FP2的设置问题
STM32F1定时器中触发信号TRC的来源及选择配置是怎么样的
STM32G474VET6如何配置HRTIM的中心对齐模式
使用CubeMx第二次生成的代码编译时报错
无刷电机PWM输出配置
STM32G474 HRTIM 推挽模式下 关闭死区 在比较寄存器较小的情况下,存在输出脉宽直接到100%
STM32H743内部温度传感器读数错误
微信公众号
手机版