寻求大神帮忙,最近在使用NUCLEO F091RC这个开发板的时候,使用ADC1外设,发现这个外设有点问题。 现象如下: 设置PA0为ADC输入引脚,设置为单次转换,发现在ADSTART寄存器被置1的瞬间,用示波器量PA0引脚居然被拉到3.3V。正常PA0引脚应该是0V,而DR寄存器读出来的值也非0值,而是0XFFF,读的是那个异常的波峰的值。 开发板没有做任何修改,使用的代码也是cubemx生成的。整个代码如下: int main(void) { /* ADC Configuration */ ADC_Config(); /* Infinite loop */ while (1) { /* Test EOC flag */ while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET); /* Get ADC1 converted data */ ADC1ConvertedValue =ADC_GetConversionValue(ADC1); /* Compute the voltage */ ADC1ConvertedVoltage = (ADC1ConvertedValue *3300)/0xFFF; } } 模拟的手法就是用KEIL对ADC1的ADSTART寄存器写1,异常波形就出来了,波形如下: |
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分