STM32F10X入門 流水燈

2021-09-12 17:39:40 字數 1323 閱讀 9368

2019/3/16 -> 2019/3/19

/core_cm32.c/stdin.h中定義了字元型

stm32f10x.h>stm32f10x_conf.h中定義了引用的外設標頭檔案

庫檔案之間的依賴呼叫關係@./~.pngstm32f10x.h檢視位址對映

比如define gpioa_base (apb2periph_base + 0x0800)配置暫存器:選定 gpio 的特定功能 ,最基本的如:選擇作為輸入還是輸出埠。

資料暫存器:儲存了 gpio 的輸入電平或將要輸出的電平

位控制暫存器:設定某引腳資料為 1 或 0 ,控制輸出電平

gpio_type_def結構體中定義了gpio_based的偏移量

sysclk為系統時鐘

2.led 的 gpio 初始化函式

void led_gpio_config(void)
以 led.h 檔案為例

條件編譯,防止標頭檔案重複,最好加上

#ifndef __led_h 

#define __led_h 

#endif

引用標頭檔案#include "stm32f10x.h"定義巨集

#define on  0

#define off 1

定義帶參巨集以及宣告對應 led.c 中的函式

#define led1(a) if (a)  \

gpio_setbits(gpioc,gpio_pin_3);\

else        \

gpio_resetbits(gpioc,gpio_pin_3) 

void led_gpio_config(void);

標頭檔案引用

#include "stm32f10x.h"

#include "led.h"

宣告後續函式

void delay(__io u32 ncount);
main函式編寫

int main(void)

}

delay函式編寫

void delay(__io u32 ncount)     //簡單的延時函式

STM32F10x系列 中斷

概念問題 中斷與事件有什麼聯絡與區別?stm32之中斷與事件 中斷與事件的區別 簡單概括下。中斷 cpu單執行緒情況下只能處理單一任務,在有零時任務需要處理時,可以暫時放下當前任務,優先處理零時任務,再回過來處理之前的任務。多個中斷可以進行巢狀,比如產生了多個零時任務,那麼就可以按照優先順序處理這多...

STM32F10X 位帶操作

在stm32微控制器的學習中,有乙個最大的特點就是你所編寫的stm32的程式操作,基本上都是匯流排的操作,比如gpiob odr 0x0001 或者直接等於1 這樣的操作必須要考慮整個暫存器的資料,但其實如果學過51微控制器的人都知道,我們除了對於匯流排操作外,我們還是經常會對單獨的位進行操作,比如...

stm32f10x 中斷程式設計框架

1,初始化nvic,用於處理中斷 2,初始化要連線到exti的gpio 3,初始化exti用於產生中斷 事件 4,編寫中斷服務函式 5,main函式 1 設定優先順序分組 misc.h中void nvic prioritygroupconfig uint32 t nvic prioritygroup...