|
利用HC-SR04超聲波傳感器測量到目標(biāo)物體的距離,并利用GDB調(diào)試窗口顯示。
具體而言,在模塊trig端輸出一個至少10us的高電平信號,則該模塊內(nèi)部將循環(huán)發(fā)射8個40KHz頻率的脈沖;若檢測由回波信號,則會在echo端產(chǎn)生高電平信號。
三、實驗器材:
1.stm32小藍板一塊
2.超聲波傳感器HC-SR04一個
3.杜邦線4根。
4.stlink下載器一個
5.usb供電線一根
注意:該超聲波傳感器模塊需工作在5.0V電壓,所以僅僅有stlink下載器3.3v供電是不夠的,需要再加上usb5.0v供電
話不多說了,上代碼:
- int trig =PA4;//Trig端
- int echo = PA5;//Echo端
- float d=0.0;
- unsigned long time = 0;
- float Distance() {
- digitalWrite(trig,HIGH);
- delayMicroseconds(15);//需要大于10
- digitalWrite(trig,LOW);
- time = pulseIn(echo,HIGH);//高電平傳回超聲波從發(fā)射到接收所經(jīng)過的時間。
- float S = time/58.00; //使用浮點計算出距離,單位為cm,time除以58是由速度乘以時間換算而來
- Serial.println(S);
- time = 0;
- return S;
- }
- void setup()
- {
- // put your setup code here, to run once:
- pinMode(echo,INPUT);
- pinMode(trig,OUTPUT);
- Serial.begin(9600);
- }
- void loop()
- {
- // put your main code here, to run repeatedly:
- d=Distance();
- //GDB調(diào)試狀態(tài)下通過display d 即可查看其值
- Serial.println(d);
- //串口調(diào)試狀態(tài)下查看其值
- delay(1000);
- }
復(fù)制代碼
Stduino IDE是一款面向32位處理器快速入門學(xué)習(xí)的集成開發(fā)平臺,目前已經(jīng)支持Arduino_Core_STM32框架,集聚快捷、高效、免費、開源、易得于一身,軟件還集成了GDB調(diào)試功能。
IDE當(dāng)前支持的功能有:
- GDB調(diào)試
- 封裝庫下載安裝
- 代碼自動補全提示
- 中英文模式
- UTF-8\GBK編碼格式
- 代碼快速格式化
- SWD\串口程序下載&調(diào)試(已驗證)
- DFU程序下載方式(待驗證)
- USB HID程序下載方式(待驗證)
- maple DFU程序下載方式(待驗證)
- maple DFU2程序下載方式(待驗證)
- MassStorage程序下載方式(待驗證)
- 更多功能細節(jié)請前往進行了解
已經(jīng)支持的芯片&板型列表:
- Stduino UNO&Nano
- Nucleo 144 boards
- Nucleo 64 boards
- Nucleo 32 boards
- Discovery boards
- Eval boards
- STM32MP1 series coprocessor boards
- Generic STM32F0 boards
- Generic STM32F1 boards
- Generic STM32F3 boards
- Generic STM32F4 boards
- Generic STM32H7 boards
- Generic STM32L0 boards
- 3D printer boards
- LoRa boards
- Electronic Speed Controller boards
- Generic flight controllers
- Garatronics boards
- Midatronics boards
更多功能集成正在進行中~
|
-
超聲波測距模塊距離測量值
|