STM32HAL库问题汇总与记录

STM32HAL库问题汇总与记录_第1张图片
STM32HAL库问题汇总与记录_第2张图片

2.HAL库ADC启动后,程序无法运行问题

使用HAL库函数时,在调用启动ADC函数后,会导致程序死机,无法运行,连while循环都进入不了:

转换通道为3时,程序无法运行:
STM32HAL库问题汇总与记录_第3张图片

加大转换通道后,程序正常运行:
通过修改启动函数后面转换通道的数量,便可以实现正常运行。

STM32HAL库问题汇总与记录_第4张图片

HAL_ADC_Start_DMA(&hadc1,(uint32_t)adc_data,10);
函数最后的参数,转换数据的长度设置的太小;
数据转换的长度设置太小且转换周期太快,
会导致程序一直死在DMA的回调函数内,故绝不可以转换几个通道转换数据的长度就设为几,
要把这个值调的稍微大一点。
改完这两个配置之后就可以解决程序一直死在Start函数内的问题。
*

3.ADC采样时默认Cube库生成的DMA初始化会在ADC初始化后面,这会导致程序无法运行,

因此需要自己修改将其提到ADC前面进行初始化。

STM32HAL库问题汇总与记录_第5张图片

你可能感兴趣的:(stm32,嵌入式硬件,c语言,开发语言,单片机)