外設實戰之LED

2021-06-22 08:15:33 字數 1151 閱讀 3434

外設實戰之led

2014-6-4

現在開發環境搭建好了,接下來先從最基本的開始,最基本的當然是驅動led。

接下來是實戰步驟:

一、檢視電路原理圖,led1對應的是pa2,led2對應的是pa3,兩個led都是灌電流方式驅動,所以gpio設定成輸出,當輸出低電平時,led亮,輸出高電平是,led滅。

二、開始編寫**:

注意在led檔案中新增包含標頭檔案:

#include "stm32f0xx.h"

下面一些巨集和庫函式都在stm32f0xx.h檔案中有宣告

1.初始化leds對應的io外設時鐘:

rcc_ahbperiphclockcmd(rcc_ahbperiph_gpioa, enable);

2.初始化leds對應的io管腳

gpio_inittypedef gpio_initstruct;

gpio_initstruct.gpio_pin =gpio_pin_2 | gpio_pin_3;

gpio_initstruct.gpio_mode = gpio_mode_out;

gpio_initstruct.gpio_otype = gpio_otype_od;

gpio_initstruct.gpio_speed =gpio_speed_level_1;

gpio_init(gpioa, &gpio_initstruct);

gpio_setbits(gpioa, gpio_pin_2 | gpio_pin_3);

3.設定led1和led2亮的函式,也就是設定對應管腳輸出低電平

gpio_resetbits(gpioa, gpio_pin_2 );

gpio_resetbits(gpioa, gpio_pin_3 );    

4.設定led1和led2滅的函式,也就是設定對應管腳輸出高電平

gpio_setbits(gpioa, gpio_pin_2 );

gpio_setbits(gpioa, gpio_pin_3 );

5.軟體延時函式

extern void delay(int t)

6.測試這些函式是否能用

在main函式中:

int main(void)

}目前只是用到了io輸出,後面還會需要用到io輸入的。

點亮 LED 燈 , 外設基位址初始化

當虛擬機器對開發板的usb燒寫無法相應,右下角沒有圖示時,可以看以下vmware的虛擬機器設定中,設定usb相容性,相容usb3.0。學習硬體的步驟 在嵌入式系統軟體 bootloader,kernel 開發初期,由於串列埠等硬體尚未被初始化,因此除錯手段相當有限,這時通常會採用led來作為程式除錯...

驅動框架之LED

1 驅動開發工程師 2 核心維護者 1 介面標準化 2 核心開發者應該盡量降低驅動開發者難度 1 驅動框架 2 核心維護者在核心中設計了一些 統一管控系統資源的 體系 3 一些特定的介面函式 一些特定的資料結構,這些是驅動框架的直接表現。1 drivers leds目錄 2 drivers leds...

F429 系統外設之Systick

systick 24位 只 能遞減,存在於核心 所有cortex mnei核心的微控制器都有這個定時器 過載暫存器 stk load 中斷 stk clk 時鐘 遞減暫存器 stk val 當暫存器值為0會產生中斷 開啟中斷 值為零後可以改變 stk clk stk load的值 每次遞減1使用 1...