|
元器件:L298N、stm32f103C8T6核心板,四個(gè)電機(jī)代碼已上傳
單片機(jī)源程序如下:
- #include "hc_sr.h"
- void HC_SR_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能GPIOA時(shí)鐘
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PA0接TRIG
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //設(shè)為推挽輸出模式
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化外設(shè)GPIO
-
- }
- void Trig_Init(void)
- {
- Trig_Pin = 0;
- delay_ms(30);
-
- Trig_Pin = 1;
- delay_us(10);
-
- Trig_Pin = 0;
- }
- u32 GetDistance(void)
- {
- short distance;
- u32 temp;
- delay_ms(10);
-
- if(TIM3CH1_CAPTURE_STA&0X80)//成功捕獲到了一次上升沿
- {
- temp=TIM3CH1_CAPTURE_STA&0X3F;
- temp*=65536;//溢出時(shí)間總和
- temp+=TIM3CH1_CAPTURE_VAL;//得到總的高電平時(shí)間
- // printf("HIGH:%d us\r\n",temp);//打印總的高點(diǎn)平時(shí)間
- TIM3CH1_CAPTURE_STA=0;//開(kāi)啟下一次捕獲
- }
-
- distance = (temp * 340 / 200)/ 100 ; //單位cm
- printf("Channel 2 : %d cm\r\n",distance);
-
- return distance;
- }
復(fù)制代碼
所有資料51hei提供下載:
hc_sr.7z
(181.42 KB, 下載次數(shù): 52)
2019-10-10 01:08 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|