STM32學習筆記(三) 變數和資料

2021-07-26 07:33:07 字數 1024 閱讀 2718

1)extern 變數申明

c 語言中

extern 可以置於變數或者函式前,以表示變數或者函式的定義在別的檔案中,提示編

譯器遇到此變數和函式時在其他模組中尋找其定義。

這裡面要注意,對於 extern 申明變數可以多

次,但定義只有一次。在我們的**中你會看到看到這樣的語句:extern u16 usart_rx_sta;

這個語句是申明 usart_rx_sta 變數在其他檔案中已經定義了,在這裡要使用到。所以,你肯定

可以找到在某個地方有變數定義的語句:

u16 usart_rx_sta;的出現。

在 main.c 定義的全域性變數 id, id 的初始化都是在 main.c 裡面進行的。

main.c 檔案

u8 id;//定義只允許一次

main()

但是我們希望在test.c的 changeid(void)函式中使用變數 id,這個時候我們就需要在 test.c

裡面去申明變數 id 是外部定義的了,因為如果不申明,變數 id 的作用域是到不了 test.c 檔案

中。看下面 test.c 中的**:

extern u8 id;//申明變數 id 是在外部定義的,申明可以在很多個檔案中進行

void test(void)

在 test.c 中申明變數 id 在外部定義,然後在 test.c 中就可以使用變數 id 了。對於 extern 申明函式在外部定義的應用,

另外關於嵌入式c程式設計中變數和常量修飾static、const、volatile、extern、struct、enum的介紹

1、最有原則的關鍵字--static

static主要有兩大功能:一是修飾全域性變數,作用域為檔案中,即從定義之處開始到檔案結尾處結束;另一種是區域性變數,作用域為函式體內

(1)修飾變數

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定時器 埠復用和重對映 串列埠串列埠試驗函式分析 中斷看門狗 通用定時器 階段性...