第一篇:V1.5-STM32f103c8t6智能小車筆記 標(biāo)準(zhǔn)庫(kù)開發(fā) 循跡避障跟隨遙控-STM32江科大同款 6612電機(jī)驅(qū)動(dòng)新手入門項(xiàng)目 講科大STM32單片機(jī)筆記同款單片機(jī) 江科協(xié)STM32同款
開頭先放幾張按照文章學(xué)習(xí)后的小車照片
然后這個(gè)是視頻如果覺得看文章不夠通俗易懂可以去看視頻
[stm32入門教程][STM32實(shí)戰(zhàn)項(xiàng)目]STM32智能小車V1.5-stm32f103c8t6-stm32最小系統(tǒng)-手把手入門教程-嵌入式開發(fā)-嵌入式學(xué)習(xí)
好的下面我們開始從硬件->調(diào)試焊接-> 軟件編寫->調(diào)試 一步一步的開始我們的項(xiàng)目。
[硬件]元件選型 PCB繪制 焊接 組裝等
元件選型
- 根據(jù)這個(gè)清單購(gòu)買元件,在tb 購(gòu)買元件,
- 或者這里直接購(gòu)買: 推薦的TB鏈接 直接點(diǎn)擊獲得所有元件
原理圖繪制
要結(jié)合購(gòu)買的元件模塊設(shè)計(jì)原理圖
比如
查看數(shù)據(jù)手冊(cè)與參考手冊(cè)確定引腳功能 設(shè)計(jì)PCB
PCB布局與走線
電源線走線粗一點(diǎn)
可以把電源線走在底層,信號(hào)線在頂層
根據(jù)元件特點(diǎn)布局
比如:這種元件就要放到PCB邊上
下單PCB打樣
檢查DRC沒(méi)有問(wèn)題就可以打樣了
嘉立創(chuàng)打樣 就可以,參數(shù)默認(rèn) 板子尺寸10*10
焊接PCB
焊接比較簡(jiǎn)單
具體的焊接過(guò)程教程,再開頭的視頻合集里面
安裝組裝
安裝比較簡(jiǎn)單
如果大家有問(wèn)題,留言我抽空補(bǔ)上視頻。
[軟件]編程開發(fā)中如何獲得資料
提示下面的資料也可以通過(guò)我提供tb下載到全部鏈接:
模塊資料
我們通過(guò)淘寶獲得
STM32F103C8T6最小系統(tǒng)板模塊
通過(guò)淘寶下載同一型號(hào)資料即可
其他模塊資料
可以通過(guò)淘寶簡(jiǎn)介得到
STM32外設(shè)驅(qū)動(dòng)資料
我們通過(guò)正點(diǎn)原子下載
小車原理圖
通過(guò)EDA軟件導(dǎo)出
程序移植-STM32F103ZET6移植到
第一步
打開魔術(shù)棒,點(diǎn)擊Device,更改芯片類型為C8T6
第二步
點(diǎn)擊Target,晶振頻率改為8Mhz
第三步
點(diǎn)擊C/C++,將define中的STM32F10X_HD,USE_STDPERIPH_DRIVER改成
STM32F10X_MD,USE_STDPERIPH_DRIVER
STM32F10X_MD,USE_STDPERIPH_DRIVER
第四步
點(diǎn)擊Utilities,點(diǎn)開settings,在Flash Download欄下,將STM32F103ZET6中512k的移除,并改為128k,
第五步
將該工程文件中CORE中的startup_stm32f10xhd.s文件換為startup_stm32f10xmd.s文件
- 刪除原來(lái)的:startup_stm32f10x_hd.s
- 將startup_stm32f10x_md.s復(fù)制到工程文件
- 工程中添加startup_stm32f10x_md.s
第六步
編譯一下
那么我們就完成了把ZET6的工程移植成為C8T6的工作,下面讓我們點(diǎn)燈測(cè)試一下啊.
使用STlink燒錄 時(shí)候出現(xiàn):
方法:
然后我們點(diǎn)一個(gè)小燈測(cè)試一下
GPIO輸出實(shí)驗(yàn)點(diǎn)亮C8T6板載小燈
第一步
查閱原理圖,小燈接在PC13上下面驅(qū)動(dòng)PC13
思考題:如果同時(shí)驅(qū)動(dòng)PC13與PC14,應(yīng)該如何編寫?(答案:應(yīng)該增加下圖代碼)
LED_Init()函數(shù)的代碼
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能PB,PC端口時(shí)鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //PC13
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度為50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure); //根據(jù)設(shè)定參數(shù)初始化
GPIOC.13
GPIO_SetBits(GPIOC,GPIO_Pin_13); //PC.13輸出高
}
LED.h 部分宏定義
#define LED PCout(13)// PC13
第二步
編譯下載(如果沒(méi)有運(yùn)行,需要按復(fù)位 運(yùn)行)
以上我們就完成基本測(cè)試,下面讓我們學(xué)習(xí)一下,如何從零設(shè)計(jì)小車?。?!
<( ̄︶ ̄)↗[GO!]