標(biāo)題: stm32f103C8T6驅(qū)動(dòng)超聲波小車源程序 [打印本頁]

作者: 1132296620    時(shí)間: 2019-10-9 20:56
標(biāo)題: stm32f103C8T6驅(qū)動(dòng)超聲波小車源程序
元器件:L298N、stm32f103C8T6核心板,四個(gè)電機(jī)代碼已上傳

單片機(jī)源程序如下:
  1. #include "hc_sr.h"

  2. void HC_SR_Init(void)
  3. {
  4.         GPIO_InitTypeDef GPIO_InitStructure;       
  5.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);  //使能GPIOA時(shí)鐘
  6.        
  7.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                                         //PA0接TRIG
  8.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                     //設(shè)為推挽輸出模式
  9.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                
  10.         GPIO_Init(GPIOB, &GPIO_InitStructure);                         //初始化外設(shè)GPIO        
  11.        
  12. }

  13. void Trig_Init(void)
  14. {
  15.         Trig_Pin = 0;
  16.         delay_ms(30);
  17.        
  18.         Trig_Pin = 1;
  19.         delay_us(10);
  20.        
  21.         Trig_Pin = 0;
  22. }


  23. u32 GetDistance(void)
  24. {
  25.         short distance;
  26.         u32 temp;
  27.         delay_ms(10);
  28.                          
  29.         if(TIM3CH1_CAPTURE_STA&0X80)//成功捕獲到了一次上升沿
  30.         {
  31.                 temp=TIM3CH1_CAPTURE_STA&0X3F;
  32.                 temp*=65536;//溢出時(shí)間總和
  33.                 temp+=TIM3CH1_CAPTURE_VAL;//得到總的高電平時(shí)間
  34.         //        printf("HIGH:%d us\r\n",temp);//打印總的高點(diǎn)平時(shí)間
  35.                 TIM3CH1_CAPTURE_STA=0;//開啟下一次捕獲
  36.         }
  37.        
  38.         distance = (temp * 340 / 200)/ 100 ;  //單位cm
  39.         printf("Channel 2 : %d cm\r\n",distance);
  40.        
  41.         return distance;
  42. }
復(fù)制代碼

所有資料51hei提供下載:
hc_sr.7z (181.42 KB, 下載次數(shù): 52)



作者: admin    時(shí)間: 2019-10-10 01:08
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
作者: 猹的反殺生涯    時(shí)間: 2020-5-1 23:18
本帖最后由 猹的反殺生涯 于 2020-5-2 11:43 編輯

程序里的話PB5做Trig,PA6檢測(cè)高電平來接線后,可以
作者: 猹的反殺生涯    時(shí)間: 2020-5-2 11:42
猹的反殺生涯 發(fā)表于 2020-5-1 23:18
一點(diǎn)說明都沒有,按程序里的話PB5做Trig,PA6檢測(cè)高電平來接線后,完全沒有作用

是我錯(cuò)了,我直接用電腦做電源供電不夠,所以沒用,接上電池后可以了




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