#include
"stm32f10x.h"
// 相當於51微控制器中的 #include
#include
"bsp_led.h"
intmain
(void
)}
#include
"bsp_led.h"
/*bsp表示board support packet,表示板級支援包,適用於特定板,移植時需要注意根據硬體介面做一定調整。
*/void
delay
(unsigned
int a)
void
led_gpio_config
(void)/*
功能:讓rgb燈按紅黃綠青藍紫依次亮起,但未使用pwm調節。
*/void
led_collour
(void
)
#ifndef __bsp_led_h
#define __bsp_led_h
#include
"stm32f10x.h"
#define led_g_gpio_pin gpio_pin_0
//綠燈io口
#define led_g_gpio_port gpiob
#define led_g_gpio_clk rcc_apb2periph_gpiob
//綠燈時鐘使能暫存器
#define led_r_gpio_pin gpio_pin_5
//紅燈io口
#define led_r_gpio_port gpiob
#define led_r_gpio_clk rcc_apb2periph_gpiob
//紅燈時鐘使能暫存器
#define led_b_gpio_pin gpio_pin_1
//藍燈io口
#define led_b_gpio_port gpiob
#define led_b_gpio_clk rcc_apb2periph_gpiob
//藍燈時鐘使能暫存器
#define gpio_high(port,pin)
//輸出為高電平
#define gpio_low(port,pin)
//輸出為低電平
#define gpio_toggle(port,pin)
//輸出反轉狀態
#define led_g_toggle gpio_toggle(led_g_gpio_port, led_g_gpio_pin)
#define led_g_on gpio_low(led_g_gpio_port, led_g_gpio_pin)
#define led_g_off gpio_high(led_g_gpio_port, led_g_gpio_pin)
#define led_r_toggle gpio_toggle(led_r_gpio_port, led_r_gpio_pin)
#define led_r_on gpio_low(led_r_gpio_port, led_r_gpio_pin)
#define led_r_off gpio_high(led_r_gpio_port, led_r_gpio_pin)
#define led_b_toggle gpio_toggle(led_b_gpio_port, led_b_gpio_pin)
#define led_b_on gpio_low(led_b_gpio_port, led_b_gpio_pin)
#define led_b_off gpio_high(led_b_gpio_port, led_b_gpio_pin)
//綠燈
#define led_green \
led_g_on;\
led_r_off;\
led_b_off;
//紅燈
#define led_red \
led_g_off;\
led_r_on;\
led_b_off;
//藍燈
#define led_blue \
led_g_off;\
led_r_off;\
led_b_on;
//黃燈(綠+紅)
#define led_yellow \
led_g_on;\
led_r_on;\
led_b_off;
//紫燈(紅+藍)
#define led_purple \
led_g_off;\
led_r_on;\
led_b_on;
//青燈(綠+藍)
#define led_cyan \
led_g_on;\
led_r_off;\
led_b_on;
void
delay
(unsigned
int a)
;void
led_gpio_config
(void);
void
led_collour
(void);
#endif
/*__bsp_led_h*/
使用韌體庫點亮led燈需要的步驟:
在bsp_led.**件中配置硬體介面資訊。
#define led_g_gpio_pin gpio_pin_0
//綠燈io口
#define led_g_gpio_port gpiob
#define led_g_gpio_clk rcc_apb2periph_gpiob
//綠燈時鐘使能暫存器
在bsp_led.c檔案中寫led燈配置函式void led_gpio_config(void);其中內容包括定義gpio結構體,開啟gpio口的時鐘,配置io口的引腳、輸出方式,速度,初始化io口。
void
led_gpio_config
(void
)
在main.c函式呼叫led燈配置函式,即可完成配置。根據需要呼叫stm32f10x_gpio.**件中的函式來操控led燈的亮滅。 點亮LED燈(一)
想當初都是用彙編來編寫微控制器的程式,那滋味現在想來都是滿滿的回憶,還是用c語言寫起來爽快啊!用c寫微控制器程式,只需要引入標頭檔案即可,實際上該標頭檔案只是定義了特殊功能暫存器位址。為了今後使用方便,我們封裝乙個函式,用來開關led燈,通過引數來控制操作的p埠,並且引入掩碼來操作單個和多個bit位...
Uboot中點亮LED燈
1 硬體要求 1 at91sam9260平台 2 pc6 pc10 兩個引腳連測試板的兩個 led燈 2 u boot版本 u boot 1.3.4 3 實現過程 在原始碼 u boot 1.3.4 board atmel at91sam9260ek at91sam9260ek.c 檔案的中做如下操...
按鍵點亮LED燈(中斷)
設定pb11為下降沿觸發,初始化中斷模式 gpio inittypedef gpio initstructure exti inittypedef exti initstructure nvic inittypedef nvic initstructure 配置管腳時鐘和復用時鐘 rcc apb2p...