标题: 基于stm32的GP2Y0A21YK0F红外测距 求帮助 [打印本页]

作者: 会飞的企鹅@    时间: 2018-4-3 17:01
标题: 基于stm32的GP2Y0A21YK0F红外测距 求帮助
以STM32为板子,通过GP2Y0A21YK0F进行红外测距的测试
作者: 钱钱钱强强    时间: 2018-10-1 10:05
#在这里快速回复##include "public.h" #include "printf.h" #include "adc.h" #include "systick.h" int main() {                 u16 ad;         u8 i;         float adc;  //电压         float Distance; //距离         adc_init();         //ADC初始化         printf_init(); //printf初始化         while(1)         {                 //ad = ad>>2;//12位AD转换成10位                 for(i=0;i<50;i++)//读取50次的AD数值取其平均数较为准确                         {                         ADC_SoftwareStartConvCmd(ADC1, ENABLE);                         while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//转换结束标志位                         ad=ad+ADC_GetConversionValue(ADC1);//返回最近一次ADCx规则组的转换结果                                 }                 ad=ad/50;   //取平均值                                  adc =(float)ad*(3.3/4096);                 Distance = (1/(ad*(0.0000954)+0.000502))-4;                                  printf(" 电压值= %f V \n",adc);                 printf(" 测量距离= %f cm \n",Distance );                 delay_ms(10000);                                 }                         }
作者: lllll223    时间: 2019-4-29 14:57
怎么连接   直接STM32 连AD口吗    还是说还要有接口电路





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1