stm32菜鳥學習筆記(1)

2021-10-05 03:24:17 字數 1219 閱讀 8094

1.標頭檔案中,使用

#ifndef

#define #endif

可以避免標頭檔案內容重讀定義。

2.mdk 編譯bug:**要以回車結尾,不然會有warning。

3.呼叫韌體庫必宣告的標頭檔案

#include

"stm32f10x.h"

識別符號為所定義的巨集名。「字串」可以是常數、表示式、格式串等。

例如:#define sysclk_freq_72mhz 72000000

6.ifdef 條件編譯,當滿足某一條件時對一組語句進行編譯。

常見格式:

#ifdef 識別符號 

程式段1

#else

程式段2

#endif

如果識別符號定義了,就執行程式段1,否則執行程式段2.

7.extern變數申明,置於變數或函式前,以表示變數或定義需要在其他檔案中尋找。注意,extern申明變數可以多次,但定義只能一次。

8.typedef 型別別名

定義一種型別的別名。

9.結構體:構造型別

struct 結構體名變數名列表;
作用:同乙個型別可以用陣列,不同型別可以用結構體組織。結構體可擴充套件性強。

舉例:

void

gpio_init

(gpio_typedef* gpiox,gpio_inittypede* gpio_initstruct)

10.c語言關鍵字:static

static 申明的區域性變數,儲存在靜態儲存區。

在函式呼叫結束之後,不會被釋放。它的值一直會保留下來。

所以說static申明的區域性變數,具有記憶功能。

舉例:

int

getvalue

(void

)

每次呼叫,返回值都為1。

int

getvalue

(void

)

每次返回值都會加一,因為static定義的變數具有記憶功能,第二次及之後呼叫函式不會清零。

11.mdk中暫存器位址名稱對映,巨集定義基位址,根據位址=基位址+偏移位址定義各種外設位址。

STM32學習筆記

剛到公司實習,要學習stm32開發,boss給了一塊戰艦開發板,讓我自己寫乙個功能要用在公司的產品上。難啊。以前根本沒接觸過stm32,只能一步一步慢慢來,利用晚上利用週末惡補一下。哎,算是為了大學前兩年還債吧。一 跑馬燈實驗 gpio輸出 實驗環境 keil4 實驗平台 戰艦stm32開發板 gp...

stm32學習筆記

開漏模式輸出 輸出暫存器上的 0 啟用 n mos,而輸出暫存器上的 1 將埠 置於高阻狀態 p mos從 被啟用 推挽模式輸出 輸出暫存器上的 0 啟用 n mos,而輸出暫存器上的 1 將啟用 p mos。上拉輸入 輸入高電平,然後接乙個 上拉電阻 保護作用 讀取此時的引腳電平為高電平 下拉輸入...

學習筆記 stm32

簡介cortex核心 cortex m4核心 庫開發與暫存器開發的關係 stm32 韌體庫與 cmsis 標準 內部結構 最小系統 小馬哥四軸原始碼學習 新建工程 點燈!gpio 按鍵暫存器對映 時鐘系統 systick定時器 埠復用和重對映 串列埠串列埠試驗函式分析 中斷看門狗 通用定時器 階段性...