|
stm8l152单片机,PD5端口,AD第9通道。
5V电压经过两个相同电阻分压,单片机采集2.5V,读出的数据很乱,一点也不对
程序如下:
void ADC_Config(void)
{
/* Enable ADC1 clock */
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);
GPIO_Init(GPIOD,GPIO_Pin_5,GPIO_Mode_In_FL_No_IT );
/* Initialise and configure ADC1 */
ADC_Init(ADC1, ADC_ConversionMode_Continuous, ADC_Resolution_12Bit, ADC_Prescaler_2);
ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);
/* Enable ADC1 Channel 9 */
ADC_ChannelCmd(ADC1, ADC_Channel_9, ENABLE);
/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);
/* Enable End of conversion ADC1 Interrupt */
//ADC_ITConfig(ADC1, ADC_IT_EOC, ENABLE);
}
uint16_t Get_BT_Adc(void)
{
uint16_t ADCdata,BT_value;
/* Start ADC1 Conversion using Software trigger*/
ADC_SoftwareStartConv(ADC1);
while (ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);
ADC_ClearFlag(ADC1,ADC_FLAG_EOC);//清除标准
/* Get ADC convertion value */
ADCdata = ADC_GetConversionValue(ADC1);
BT_value = ( ADCdata * 3.3 * 1000)/4095; //mv
return BT_value;
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|