用stm32韌體庫點亮LED 紅 藍 綠燈

2021-10-06 10:53:14 字數 1968 閱讀 1293

一、前言:

這是led的硬體電路,綠燈為pb0,紅燈為pb5,藍燈為pb1。這些led燈的陰極都是連線到stm32的gpio引腳,只要我們控制gpio引腳的電平輸出狀態,即可控制led燈的亮滅。

1.主函式 main.c

#include

"stm32f10x.h"

// 相當於51微控制器中的 #include

#include

"bsp_led.h"

//呼叫自己寫的功能函式的標頭檔案即可。

intmain

(void

)

————————————————————————————————

2.建立的功能函式的標頭檔案 bsp_led.h

#ifndef  __bsp_led_h  

/*第一行、第二行和最後一行是用來避免功能函式的多次調 用*/

#define __bsp_led_h

#include

"stm32f10x.h"

//綠燈

#define led_g_gpio_pin_r gpio_pin_0

/*第六行*/

#define led_g_gpio_port gpiob

/*第七行*/

#define led_g_gpio_clk rcc_apb2periph_gpiob

/*第八行*/

void

led_gpio_config_g

(void);

/*這是點燈函式,便於主函式呼叫點燈函式*/

#endif

/*__bsp_led_h*/

第六行:巨集定義gpio的引腳,gpio_pin_0 為配置輸出pb0,將0改為1為輸出pb1,將0改為5為輸出pb5,就是分別呈現綠、藍、紅三種顏色。

第七行:巨集定義gpio的埠。

第八行:巨集定義gpiob的時鐘。

這三行巨集定義是為了在功能函式中gpio初始化時方便呼叫

————————————————————————————————

3.建立功能函式 bsp_led.c

#include

"bsp_led.h"

//匯入標頭檔案

/*接下來進行gpio的初始化*/

void

led_gpio_config_g

(void){

gpio_inittypedef gpio_initstruct;

//將初始化結構體定義乙個名稱便於呼叫

rcc_apb2periphclockcmd

(led_g_gpio_clk, enable)

;//呼叫apb2時鐘函式,開啟時鐘

gpio_initstruct.gpio_pin = led_g_gpio_pin_g;

//此處為進行初始化賦值

gpio_initstruct.gpio_mode = gpio_mode_out_pp;

//此處為進行初始化賦值

①通過這三個步驟便可以進行點亮led-綠燈,將pin_x的x值修改便可以點亮紅燈和藍燈。

②當在主函式將三種點亮燈的函式寫入時,便可點亮由三種顏色混合的顏色,前提是在bsp_led.h「檔案中分別重複對pin、mode、speed的巨集定義和寫入點燈函式,並且在」bsp_led.c「檔案中分別重複寫入三種gpio功能初始化的函式即可。

————————————————————————————————

文章打的有點趕,如果有什麼錯位的地方還望見諒且幫我斧正,謝謝**!

用RVCT編譯STM32點亮LED

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

STM32用暫存器點亮LED燈

暫存器 實際上就是cpu裡面的東西 每個單元都有不一樣的功能,根據功能給這些儲存單位取別名,這個別名就是我們所說的暫存器。暫存器的對映 給暫存器分配位址的過程就叫作暫存器的對映。新建工程 新建工程需要手動建立main.c h 標頭檔案 標頭檔案 暫存器的對映 如何寫暫存器的對映 首先找到需要控制外設...

STM32 1 使用韌體庫點亮LED

使用開發板 stm32f103zet6 編譯環境 keil 5 1.配置 rcc暫存器是能 gpioe埠 gpio 6 2.設定 埠配置低暫存器 gpiox crl 裡的 gpioe 20 23 設定為 0001 0001 輸出模式的 cnfy 1 0 00 通用推挽輸出模式,modey 1 0 0...