外設實戰之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...