发现一个存在于stm32cube F1 V1.0.0.0的Bug!
工具:Stm32cubeMX 4.6.0F1 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,是不同的。
不错 支持一下 没用过,学习学习 没用过,学习学习 谢谢分享 不错,大家验证下?
谢谢分享 谢谢分享 也来看看!! 没有开启扫描模式
页:
[1]
2