STM32F030_LED詳細(xì)配置總結(jié)
這幾天到手一塊Cortex_M0的STM32f030的單片機(jī),在這里總結(jié)下STM32F030的相關(guān)詳細(xì)外設(shè)功能配置,本文詳細(xì)說(shuō)明STM32f030_LED的配置,隨便說(shuō)明GPIO相關(guān)寄存器的配置和功能。
LED管腳說(shuō)明:PA2 ——LED1 PA3 ——LED2
LED低電平點(diǎn)亮
1、概述
GPIO相關(guān)特征概述:
- STM32F030提供55個(gè)快速I(mǎi)O口,分為5組(A、B、C、D、F)
- 每 個(gè) 通 用 I/O 口 都 有 4 個(gè) 32 位 配 置 寄 存 器(GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR 和 GPIOx_PUPDR), 2 個(gè) 32 位數(shù)據(jù)寄存器 (GPIOx_IDR and GPIOx_ODR) 和 1 個(gè)32 位置位 / 復(fù)位寄存器 (GPIOx_BSRR)
- 輸出狀態(tài): 帶有上拉或下拉的推挽輸出或開(kāi)漏輸出
- 可選的每個(gè) I/O 口的速度
- 輸入狀態(tài): 浮空、 上拉 / 下拉、 模擬輸入
- 模擬功能
- 復(fù)用功能
LED相關(guān)特征概述:
- LED低電平點(diǎn)亮
- PA2 PA3 連接LED1 LED2
建議準(zhǔn)備F0的參考手冊(cè)和數(shù)據(jù)手冊(cè),方便查閱相關(guān)知識(shí),沒(méi)有的請(qǐng)到ST官網(wǎng)或到我的CSDN下載。
我每次都會(huì)提供整理好的軟件工程供大家下載,但是,如果你是一位學(xué)習(xí)者,建議自己親手一步一步操作:打開(kāi)工程 -> 新建文件(led.c led.h) -> 添加相關(guān)文件到工程中 -> 添加源代碼。
3、寄存器說(shuō)明這里我只簡(jiǎn)單的說(shuō)明幾個(gè)常用的寄存器的功能配置,其他寄存器的配置還需查看STM32F030的數(shù)據(jù)手冊(cè)。
GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..D,F)
GPIO 端口輸出類型寄存器 (GPIOx_OTYPER) (x = A..D,F)
GPIO 口輸出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F)
GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F)
GPIO 端口置位 / 復(fù)位寄存器 (GPIOx_BSRR) (x = A..D,F)
GPIO 復(fù)用功能低位寄存器 (GPIOx_AFRL) (x = A..B)
GPIO 復(fù)用功能高位寄存器 (GPIOx_AFRH) (x = A..B)
端口位復(fù)位寄存器 (GPIOx_BRR) (x=A..G)
LED原理圖
代碼描述
①LED初始化
該函數(shù)在led.c文件下,
RCC_AHBPeriphClockCmd()是GPIO時(shí)鐘控制的庫(kù)函數(shù)封裝
②LED1/2的打開(kāi)或者關(guān)閉的宏定義函數(shù)
該函數(shù)在led.h文件下,
③主函數(shù)main
④實(shí)驗(yàn)現(xiàn)象
每0.5秒LED1進(jìn)行翻轉(zhuǎn),閃爍點(diǎn)亮
本次文檔使用的單片機(jī)型號(hào)為STM32F030R8T6,如果是其他版本的請(qǐng)?jiān)敿?xì)參考原理圖和數(shù)據(jù)手冊(cè),一般只需修改LED1/2(PA2/3)的GPIO管腳