STM32點亮LED(熟中新認識)

2021-08-14 02:46:48 字數 1522 閱讀 2716

stm32點亮led步驟案例

準備(1)硬體 

stm32開發板,jlink**器(用於燒入程式) 

(2)軟體 

a)整合開發環境keil,我用的是keil4 

b)jlink驅動setup_jlink_v490.exe(驅動jlink**器) 

準備妥當,go go go

點亮led燈的步驟如下 

1.安裝keil軟體 

2.新建工程 

3.配置引數 

4.安裝jlink驅動和連線燒入程式 

5.啟動stm32,點亮led

//5個

core_cm3.c

core_cm3.h

system_stm32f10x.c

system_stm32f10x.h

stm32f10x.h

(b)lib資料夾列表

//兩個資料夾

incsrc

(c)user資料夾為main.c

1)output 選項下勾create hex file 

2)包含標頭檔案:在options for taget 中的c/c++選項中include path包含core和lib/inc(有標頭檔案的目錄都包含進去), 

3)define下加入巨集stm32f10x_hd,use_stdperiph_driver 

目的:「使用標準外設驅動」,在c/c++預定義中加入「use_stdperiph_driver」和stm32f10x_hd就是允許「使用標準外設驅動」了。 

此時可以編譯了,注意,如果編譯出現undefined symbol錯誤,原因是lib中標頭檔案的版本和keil預設include版本衝突,乙個解決方案是直接將lib中標頭檔案拷貝到預設的d:\program files\keil\arm\inc\st\stm32f10x目錄中。

以上新建工程中包含庫函式是為了初始化微控制器,最終使微控制器執行到main函式中。當程式執行到main函式中後,就要在main函式中控制點亮led燈了。點亮led燈關鍵要找到對應關係。 

(1)首先要找到開發板上的led燈。 

(2)然後要找到開發板對應的電路圖,在電路圖上找到你所要控制的led燈的編號(注意,電路圖上的編號對應程式中定義的巨集的名稱)。 

(3) 最後在程式中給led燈對應的位址賦值(高電平還是低電平)。賦值的方法有三種,可以通過呼叫庫來賦值,也可以給暫存器直接賦值。示例**如下:

#include "stm32f10x.h"

#define show_led (*((volatile unsigned int *)0x40010800))

int main()

用RVCT編譯STM32點亮LED

板子用的微芯力科的三合一微控制器開發評估套件,要點亮的兩個led接在pb5,pb6上。先寫main.c了 define rcc apb2enr volatile unsigned long 0x40021018 時鐘使能暫存器 define gpiob crl volatile unsigned l...

STM32點亮乙個LED

圖 i o埠位的基本結構 stm32f103c8t6共有2組gpio埠 pa pb,每組16個埠。每個埠有兩個32位配置暫存器 gpiox crl,gpiox crh 兩個32位資料暫存器 gpiox idr,gpiox odr 乙個32位置位 復位暫存器 gpiox bsrr 乙個16位復位暫存器...

學習記錄 STM32點亮LED實驗

使用藍橋杯ct117e板子 使用stm32標準庫檔案 1.初始化gpio埠 使能相應埠的時鐘 gpio inittypedef gpio init gpioc rcc apb2periphclockcmd rcc apb2periph gpioc,enable gpio init gpioc.gpi...