一、前言:
這是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...