
上一贴有前辈建议我根据手册中说明的进入和退出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获得稳定数据呢 |
定时器使用DMA突发传输功能时,传入指针从常量数组改为变量数组后,传输功能异常。测试官方用例一样,是何原因?
STM32MP135D的TIM2使用ETR作为外部时钟时,无法使用PE15作为输入
分享一个PWM+DMA的BUG
STM32的TIM触发SPI的DMA发送使用NSS时MSSI的问题
使用STM32捕获PWM时同时捕获2个通道时会出现捕获的频率值不准确的问题
HRTIM 变频控制输出的第一个周期频率异常
PWM+DMA求助
FlyMcu下载写入出错问题
怎么在不用中断的情况下,测量霍尔编码器的数据
型号STM32L010RB可以用来做两路BUCK移相小电源?