上一贴有前辈建议我根据手册中说明的进入和退出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获得稳定数据呢 |
STM32F723ZET6 定时器输入捕获通道的GPIO不能上拉
stm32f10x_tim.h文件编译错误?
STM32C031C6过采样ADC体验
STM32L071 配置RTC为24小时制,13点的时候会变为1点
PWM输出
pwm移相
stm32用tim输出pwm似乎先使能一次cen再设置cnt才有用?
求助STM32L010F4P6的USART2使用DMA只能接收一个字节!
BC28 OTA升级
关于定时器输出比较问题