LSM6DS3TR-C静止情况下使用MotionFX固件算出的欧拉角周期性异常跳动
STM32H7A3RGT6 ADC 8位采样速度只能达到3.5MSPS达不到数据手册上的7MSPS ?
全球论坛无法登录
DMAMUX 使用内部外设Request Event(不使用TIM12和LPTIM)
STM32F103C8T6是否支持TIM3的PWM边沿触发AD采集
STM32F429使用FMC接口扩展SDRAM
用STM32F407做U盘拖拽升级,目前BootLoader和实现U盘,后面就不知道怎么操作了。
HAL_I2C_Mem_Read 一直返回 BUSY
STM32上电后会多次进入所有打开的定时器回调函数中,如何避免这样的情况?
CUBEIDE打开一个工程,怎么改变主控芯片的同系列型号?
微信公众号
手机版
会导致while循环中的delay延时函数失效,具体情况是:
不打开ADC,delay函数正常使用,可以1S打印一次信息,
但是打开HAL_ADC_Start_DMA(&hadc1,(uint32_t *)&DMA_value,6);函数后,打印频率不是1S,而是比1S快
同样,只使用ADC不使用DMA,在while循环之前打开HAL_ADC_Start_IT(&hadc1);,可以1S打印一次信息,
但是如果同时打开HAL_ADC_Start_IT(&hadc1);和HAL_ADC_Start(&hadc1);,就会导致打印的频率比1S快
有没有大佬知道如何解决问题
delay延时用的是for while死循环,这种延时精度不高,当有频繁中断产生时,延时就会变长,如果要精准定时建议你使用定时器,并且用优先级别较高的定时器。
我昨天可能没有表达清楚 程序是图一图二和图三 图一是1S打印一次
把程序改为图2后 (昨天)打印情况为1S打印10多次,但是找不到原因,
打开DMA传输,使用图三的程序后,还是1S打印10多次,(中断都是空函数)
但是今天早上再次调试,程序又正常了(程序一点都没变),挺玄学的
这是我刚刚用F4芯片测试的程序 问题依旧 ,延时1S打印一次 但是使用ADC_DMA后打印频率非常高
printf 效率很低,最好不要用,而且你这是调试没什么用