STM32點亮乙個LED

2021-09-26 06:41:17 字數 1314 閱讀 1419

圖:i/o埠位的基本結構

stm32f103c8t6共有2組gpio埠:pa、pb,每組16個埠。每個埠有兩個32位配置暫存器(gpiox_crl,gpiox_crh),兩個32位資料暫存器(gpiox_idr,gpiox_odr),乙個32位置位/復位暫存器(gpiox_bsrr),乙個16位復位暫存器(gpiox_brr)和乙個32位鎖定暫存器(gpiox_lckr)。

gpio埠的每個位可以由軟體分別配置成多種工作模式:

—輸入浮空

—輸入上拉

—輸入下拉

—模擬輸入

—開漏輸出

—推挽式輸出

—推挽式復用功能(本次實驗使用該功能)

—開漏復用功能

1、使能gpio的時鐘

從上面的系統結構圖可見,gpiob位於apb2系統匯流排上,因此,gpio的時鐘使能使用如下函式:

rcc_apb2periphclockcmd(rcc_apb2periph_gpiob,enable);

2、配置gpiob埠到第8個io口

gpio_inittypedef gpio_initstruct;

gpio_initstruct.gpio_pin=gpio_pin_8;

3、配置pb8為推挽輸出模式(配置gpio_moder)

gpio_initstruct.gpio_mode=gpio_mode_out_pp; //推挽輸出模式

5、配置pb8的輸出速度為50mhz

gpio_initstruct.gpio_speed=gpio_speed_50mhz;

6、初始化gpio(初始化相應的暫存器)

gpio_init(gpiob,&gpio_initstruct);

經過上面的分析,呼叫stm32標準庫驅動led。

main.c檔案如下:

#include "stm32f10x.h"

void delay(int cnt);

int main(void) }

void delay(int cnt)

{ int i,j;

for(i=0;i筆者:2023年8月17日,雲南昆明。

STM32學習筆記(一) 點亮乙個LED

最近報名了2017全國大學生電子設計競賽,我們學校是第一次參加這個比賽,由於8 9月份就要比賽了,所以現在準備是比較晚的了,指導老師說只能做控制類的題目了,讓我們學習一下stm32微控制器,51到時候肯定不夠用了,正好前幾天買了一塊stm32f103zet6的最小系統,那就趕緊學習吧!從 學習呢?同...

STM32學習筆記(一) 點亮乙個LED

最近報名了2017全國大學生電子設計競賽,我們學校是第一次參加這個比賽,由於8 9月份就要比賽了,所以現在準備是比較晚的了,指導老師說只能做控制類的題目了,讓我們學習一下stm32微控制器,51到時候肯定不夠用了,正好前幾天買了一塊stm32f103zet6的最小系統,那就趕緊學習吧!從 學習呢?同...

用RVCT編譯STM32點亮LED

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