iT邦幫忙

2021 iThome 鐵人賽

DAY 4
2
Arm Platforms

基於ARM-M0架構MCU之落摔檢測韌體開發系列 第 4

[DAY 4] _ 用Keil5直接編寫暫存器操控MCU的GPIO口_(建Keil5環境)

我今天來講下如何看手冊操作暫存器好了,就以簡單的GPIO口hi low就好,我手邊剛有STM32F429,STM32F103、STM32F030CC,我會先講一下103的如何打,這塊是電子零件幾乎都有賣的STM32F103C8T6開發板,長的如下圖:
https://ithelp.ithome.com.tw/upload/images/20210917/20141979CelfJwVEs1.png
想入門STM32先買這塊來玩看看,大多的電子商場開發版跟燒錄器是分開賣的~左邊為開發版右邊和燒錄器,至於這塊開發版的原理圖網路上有,也很多版本但都沒差,就跟我第DAY2說的一樣原理。

好,那就直接開始吧~如何直接操作暫存器,到這裡大家最起碼要先裝好Keil5下載好我昨天說的驅動包,接下來教如何在Keil5上練習這塊開發版,實作就先以簡單的LED閃爍來示範如何直接操作暫存器。

首先在非中文路徑下創建資料夾,檔名不要取中文,Keil5可能會報錯誤訊息,我這邊取stm32f103c8t6_led,開啟keil5,先去ST官網載標準庫
ST官網載點

先開起Keil5,案新增專案再來取專案名稱,我這邊取LED如下圖:
https://ithelp.ithome.com.tw/upload/images/20210917/20141979toGWEuPToP.png
再來會跑出選MCU型號,我這邊選擇stm32f103c8
https://ithelp.ithome.com.tw/upload/images/20210917/20141979zIGZEsMEbh.png
選擇完後會跳出這以下這框框,這邊我們先不引入函示庫,直接點Cancel
https://ithelp.ithome.com.tw/upload/images/20210917/20141979tEvBWy7Tes.png
再來照以下4步驟
1.新增檔案 2.儲存檔案 3.輸入stm32f103.h 4.按儲存,在做同樣步驟新增main.c
https://ithelp.ithome.com.tw/upload/images/20210917/201419790eXgDkSOvB.png

stm32f103.h跟main.c都創建跟儲存完成後再來摳前面下載的標準庫裡面有個.s檔
路徑:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
https://ithelp.ithome.com.tw/upload/images/20210917/201419798HmHi85XYQ.png
可以看到上圖他有很多檔案,這是根據MCU大中小記憶體去分的,我們這邊用的 md.s 屬於中等容量,關於這個手冊第1頁有提到F103屬於中容量。打這個檔案拖到剛剛建專案的資料夾底下。
到這邊會有以下這三個檔案如圖紅框:
https://ithelp.ithome.com.tw/upload/images/20210917/20141979BuE2VOU0fU.png

再來是要新增這三個檔案至專案裡,方法如下圖
https://ithelp.ithome.com.tw/upload/images/20210917/20141979DoZVg0jzw9.png
1.在這框起來地方連點2下 2.跑出這視窗後選取剛剛新建的那三個檔案 3.按add新增

再來最後一個建環境很重要的步驟,就是為了要Keil5知道你要include的.h在哪,所以要設定路徑,方法如下圖:
https://ithelp.ithome.com.tw/upload/images/20210917/20141979275ddta8qx.png

按照這順序點就可以了。
基本環境就好了~~
今天忙別的事,真的擠不出甚麼時間來來打暫存器位置,只打到一半就留給明天吧~~
很久以前練習過了,但檔案沒存起來。

這些文章完全是我自己打出來的,網路大概不會找到這麼詳細的教學了...有的話也大概在大陸網站才找的到吧,我先前也看過大陸教學STM的網站,也沒寫得步驟比我詳細。
明天:直接操作暫存器控制GPIO口!!。


上一篇
[DAY 3] _ 開發板規劃補充(stm32f030)
下一篇
[DAY 5] _stm32f103c8t6開發板暫存器開發_控制MCU的GPIO High、Low範例
系列文
基於ARM-M0架構MCU之落摔檢測韌體開發35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言