u16 AD_PM;
void config_GP2Y1010AU0F() //PIN3  
B13
{
GPIO_ResetBits(GPIOB,GPIO_Pin_13); // 点亮连接到pin3 的LED
delay_us(280); // 过0.28毫秒
AD_PM=Get_Adc(ADC_Channel_2); // 对连接到A0的模块Vo进行采样
delay_us(40); // 过0.04毫秒
GPIO_SetBits(GPIOB,GPIO_Pin_13); // 关闭LED
delay_us(9680); // 等待9.680毫秒
// dustdensity=0.17*AD_PM-0.1; //灰尘浓度与电压线性关系
}
while(1)
{
config_GP2Y1010AU0F();
//delay_ms(500);
//printf("%d",
AD_PM);
}
第一张波形是PIN3 LED输入波形 第二张是点跟烟以后输出PIN5的波形 但是打印串口的时候 电压采样值一直是几到几十 说明电压一直是0 如果是4000多 就对了 如果波形对了 那是我AD没采到这个电压吗 ?怎么解决呢 谢谢大家了
二,第二张图好像是对的,就是脉冲形式的,如果你用什么表测量的话,可能就是0.几或者0.00几伏特。。
三,如果你想采集AD模拟形式的话,加个RC吧,或者更好一点的电路,效果能好点。
个人建议。。
一周热门 更多>