第一篇-STM32智能小車硬件介紹
這是全網最詳細、性價比最高的STM32實戰項目入門教程,通過合理的硬件設計和詳細的視頻筆記介紹,硬件使用STM32F103主控資料多方便學習,通過3萬字筆記、12多個小時視頻、20多章節代碼手把手教會你如何開發和調試。讓你更快掌握嵌入式系統開發。
V3.3.0-STM32智能小車
視頻:
https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click
V3:HAL庫開發、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺控制、電磁循跡、RTOS等功能。
后面還有視覺、RTOS等功能先不列舉了,大家直接到專欄看把。
1.1-元件選型
這里給出元件列表和數量
后面每個元件使用前會給出參數等。
1.2-原理圖與PCB
底板原理圖
各個模塊的供電電壓?
模塊接口引腳順序?
如何確定使用單片機那個引腳?
STM32F103C8T6核心板原理圖(可能使用不同核心板略有差異)
PCB頂層截圖
不同類型線粗細
布局總線方式
1.3-焊接
PCB正面
PCB背面
然后插上元件
1.4-結構與組裝
這是組裝好的車體照片
然后小車安裝PCB
1.5-測試
第二章-GPIO與中斷
2.0-新建工程
建議選擇和我一樣的版本
新建一個工程
選擇芯片
選擇時鐘源
選擇調試
勾選生成獨立的文件
設置保存地址
勾選這個不添加沒有使用庫文件可以減小工程文件大小(也可以不勾選,保持默認設置)
MDK打開工程,調低優化等級
以上是每次新建工程要做的
以后我們不在新建工程,使用之間的工程即可
2.1-點燈
這里我們點亮PC13連接的小燈
配置PC13
生成代碼
生成代碼后,使用MDK打開工程
在BEGIN和END添加代碼
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
HAL_Delay(500);
根據自己的芯片選擇
燒錄程序(必看 使用其中一個方法)
方法一:使用DAP LINK
接線圖
DAP 在Win 10 免驅動的
然后根據自己使用的工具在MDK中設置下載工具
設置下載算法
然后下載程序,復位小燈閃爍
燒錄后現象
小燈每0.5秒閃爍一次
方法二:使用stlink
接線圖
**STlink不要接3.3V **
使用Stlink 前先安裝驅動
雙擊運行
選擇ST-Link
選擇算法
然后點擊編譯,燒錄
燒錄后現象
小燈每0.5秒閃爍一次
補充可能遇到的失敗情況
使用DAP-LINK
如果我們芯片IDCODE是0x2 開頭的那么我們需要替換一下Keil 的器件包
(如果你是0x1 開頭的,如果能下載可以不替換)
STM32小車相關資料V3.3.0?4使用的軟件中科芯CKS芯片支持包
下面這個算法就會自動切換
使用stlink
2.2-按鍵
先看原理圖
PB4--KEY1 單片機設置下拉輸入-、上降沿觸發
PA12--KEY2 單片機設置上拉輸入、下降沿觸發
開始配置
使能外部中斷
然后生成代碼
重新實現中斷回調函數、編寫按鍵檢測程序
在gpio.c 中我們編寫該函數
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == KEY1_Pin){//判斷一下那個引腳觸發中斷
//這里編寫觸發中斷后要執行的程序
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);//切換LED GPIO狀態
}
if(GPIO_Pin == KEY2_Pin){//判斷一下那個引腳觸發中斷
//這里編寫觸發中斷后要執行的程序
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);//切換LED GPIO狀態
}
}
把main中控制閃爍注釋掉
燒錄后的現象
按下KEY1 或者KEY2可以切換LED燈開關狀態
審核編輯 黃宇
-
STM32
+關注
關注
2266文章
10876瀏覽量
354922 -
PID
+關注
關注
35文章
1471瀏覽量
85306 -
智能小車
+關注
關注
87文章
549瀏覽量
81669 -
循跡
+關注
關注
0文章
14瀏覽量
13027
發布評論請先 登錄
相關推薦
評論