你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
zhao.zhao 发表于 2017-6-23 20:27 再在后面加上如下2句指令看看有没有效果 while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN)); // 等 ...
xmshao 发表于 2017-6-23 23:07 st官方库很多现存代码基本可以直接拿来用。 觉得软件配置无误的话,再检查下硬件,尤其电源,VDDA接了没有 ...
sfd123-302670 发表于 2017-6-24 07:48 检查检查硬件连接吧
KCL 发表于 2017-6-24 08:15 輸入是高電位,是否空載? 用三用電表對下就知道了
void Adc_Init(void)
{
GPIO_InitTypeDef GPIO_InitA;
ADC_InitTypeDef ADC_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
ADC_DeInit(ADC1);
ADC_StructInit(&ADC_InitStructure);
RCC_ADCCLKConfig(RCC_ADCCLK_PCLK_Div2);
GPIO_InitA.GPIO_Pin=GPIO_Pin_1;//ADCA0_IN0
GPIO_InitA.GPIO_Mode=GPIO_Mode_AN;
GPIO_InitA.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA,&GPIO_InitA);
ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConvEdge_None;
ADC_InitStructure.ADC_ExternalTrigConvEdge=ADC_ExternalTrigConvEdge_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;
ADC_Init(ADC1, &ADC_InitStructure);
ADC_ChannelConfig(ADC1,ADC_Channel_1,ADC_SampleTime_239_5Cycles);
ADC_GetCalibrationFactor(ADC1);
ADC_Cmd(ADC1,ENABLE);
}
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN)); // 等待ADC准备好
ADC_StartOfConversion(ADC1); // 启动转换
st官方库很多现存代码基本可以直接拿来用。
觉得软件配置无误的话,再检查下硬件,尤其电源,VDDA接了没有?通道是否选择正确?
加上也没用,还是读出409X。
测过,硬件上是OK的。。
到主控的那个pin的电源也是正常的,估计是软件配置上有问题,就是找不出哪里问题,,
测过,硬件上是OK的。。
到主控的那个pin的电源也是正常的,估计是软件配置上有问题,就是找不出哪里问题,,
输入到那个pin的电压什么的都正常
PA1就是检测 ADC 通道1的pin