2019/3/16 -> 2019/3/19
/core_cm32.c/stdin.h
中定義了字元型
stm32f10x.h>stm32f10x_conf.h
中定義了引用的外設標頭檔案
庫檔案之間的依賴呼叫關係@./~.png
stm32f10x.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...