在线时间50 小时
UID129486
ST金币0
蝴蝶豆0
注册时间2008-1-18
高级会员
- 最后登录
- 2020-10-20
|
a0a.1 32b0c
工具:
Stm32cubeMX 4.6.0 F1 V1.0.0
现象:
在配置规则多通道AD转换(DMA传输模式)时,正确的应该是不同的内存地址因该填入不同通道的采样结果,而错误现象是,不同的内存地址填入的是一个固定通道的多次采样的数据。
原因:
在STM32CubeMX F1 V1.0.0生成的代码中存在错误:
/* ADC1 init function */
void MX_ADC1_Init(void)
{
ADC_ChannelConfTypeDef sConfig;
/**Common config */
hadc1.Instance = ADC1;
hadc1.Init.ScanConvMode = ENABLE;
hadc1.Init.ContinuousConvMode = DISABLE;
.......
其中,hadc1.Init.ScanConvMode = ENABLE;中“ENABLE”是错误的。
解决方法:
将hadc1.Init.ScanConvMode = ENABLE;改为hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
因为,宏ADC_SCAN_ENABLE 和ENABLE 的值分别为0x100和0x00,是不同的。
|
|