timer14更新事件产生中断频率为30k,由timer14的通道0上升沿触发adc采样转换,在每个中断中去从新排列一下adc采样通道需要注意什么?比如,一共用到了3个通道,在第一个中断中采样顺序为ch0,ch1,ch2,第二个中断采样顺序则为ch1,ch0,ch2,第三个中断中采样顺序为ch2,ch1,ch0......,总而言之就是我采样通道顺序会改变,这样会不会出现问题?adc需要怎样重新设置? 现在在实际项目中出现了问题,之前用的st的芯片这样做事ok的,现在换成GD的出现了问题,但还不能确定格式哪里出了问题,初步断定与adc采样相关
|
@zhangkai09077 : 设置规则组通道数 adc_channel_length_config(ADC_REGULAR_CHANNEL, 3); 设置规则组通道序列 adc_regular_channel_config(0, ADC_CHANNEL_0, ADC_SAMPLETIME_55POINT5); adc_regular_channel_config(1, ADC_CHANNEL_1, ADC_SAMPLETIME_55POINT5); adc_regular_channel_config(2, ADC_CHANNEL_2, ADC_SAMPLETIME_55POINT5);
你的采样通道是固定的三个通道,虽然采样顺序有时会变。建议你可以尝试:1.打开3个规则组通道,并设置采样顺序。 2.打开EOCIE组转换结束中断使能。 3.在中断使能里重新设置需要的采样顺序。并取上个周期的转换值。