欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STM32F103+野火指南者+HC-SR04測距源程序 [打印本頁]

作者: JKRL    時間: 2019-8-4 10:33
標題: STM32F103+野火指南者+HC-SR04測距源程序
/*********************************************************/
/*主要控制程序,length=(tim+time*1000)*100/58.0;乘100是為了將M轉為CM*/

float Senor_Using(void)


    float length=0,sum=0;
    u16 tim;
    unsigned int i=0;
    /*測5次數據計算一次平均值*/
    while(i!=5)
    {
        printf("111");
        GPIO_SetBits(GPIOC,GPIO_Pin_8);
        SysTick_Delay_Us(20);  //高電平信號超過10us
        GPIO_ResetBits(GPIOC,GPIO_Pin_8);
        /*等待回響信號*/
        while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_9)==0);
        TIM_Cmd(GENERAL_TIM,ENABLE);
        //回響信號到來,開啟定時器計數
        while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_9)==1);
        //回響信號消失
        TIM_Cmd(GENERAL_TIM,DISABLE);
        printf("222");
        //關閉定時器
        tim=TIM_GetCounter(GENERAL_TIM);
        //獲取計TIM3數寄存器中的計數值,一邊計算回響信號時間
        length=(tim+time*1000)*100/58.0;
        //通過回響信號計算距離
        sum=length+sum;
        GENERAL_TIM->CNT=0;  //將TIM3計數寄存器的計數值清零
        time=0;  //中斷溢出次數清零
        SysTick_Delay_Ms(60);
        i+=1; //每收到一次回響信號+1,收到5次就計算均值
    }
    length=sum/5;
    return length;
    //距離作為函數返回值
}
/****************************************************************************/
另外對一些不了解的朋友說一下請千萬注意定時器的值。



超聲波顯示.7z

232.63 KB, 下載次數: 129, 下載積分: 黑幣 -5

源碼


作者: Laplacey    時間: 2019-8-4 16:56
這個思路強啊,靠譜嗎,精度有多高
作者: JKRL    時間: 2019-8-4 21:24
Laplacey 發表于 2019-8-4 16:56
這個思路強啊,靠譜嗎,精度有多高

角度在15以上誤差在3MM。

作者: xit    時間: 2019-12-3 20:34
測試距離大概在什么范圍呢




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1