中级会员
 
- 积分
- 323
- 金钱
- 323
- 注册时间
- 2018-8-9
- 在线时间
- 35 小时
|
请各位大神帮忙看看:
求助:STM32F103系列内部ADC有初值吗?如下程序,ADC_Channel_2 通道2 还没有外接电压输入,LED = ~LED;已经开始按照1s延时执行,即一上电 第一个if(){}循环体就已经开始执行了,难不成通道2一上电就有高电平了吗?
//主函数main()
int main(void)
{
u16 ad_2_final,ad_3_final; //通道2 和通道3 转换数据 初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
Adc_Init(); //ADC初始化
while(1)
{
ad_2_final = Get_Adc_Average(ADC_Channel_2,8); //PA2--ADC通道2--序列号为1,在规则通道组中第一个转换,转换次数为8次
// ad_3_final = Get_Adc_Average(ADC_Channel_3,8); //PA3--ADC通道3--序列号为2,在规则通道组中第2个转换,转换次数为8次
if(ad_2_final >= 1000)
{
LED = ~LED;
delay_ms(1000);
}
else if(ad_2_final<1000)
{
LED = ~LED;
delay_ms(500);
}
}
}
|
|