stm32的C語言相關筆記

2021-07-23 02:36:54 字數 1053 閱讀 1757

gpio_inittypedef  gpio_initstructure;

typedef struct

gpio_inittypedef;

32中包含大量的結構體定義,如上為最基本的用typedef定義新的結構體定義名

gpio_setbits(gpiof,gpio_pin_9 | gpio_pin_10);

void gpio_setbits(gpio_typedef* gpiox, uint16_t gpio_pin)

第乙個引數為指向某個結構體的指標,其結構體實質如下包含了gpio的各個暫存器,實際傳入函式的是各暫存器的位址

typedef struct

gpio_typedef;

#define     __io    volatile 

英[ˈvɒlətaɪl]

volatile

的作用是: 作為指令

關鍵字,確保本條指令不會因

編譯器的優化而省略,且要求每次直接讀值.

簡單地說就是防止編譯器對**進行優化.比如如下程式: 1

2

3

4

xbyte[2]=0x55;

xbyte[2]=0x56;

xbyte[2]=0x57;

xbyte[2]=0x58;

對外部硬體而言,上述四條語句分別表示不同的操作,會產生四種不同的動作,但是編譯器卻會對上述四條語句進行優化,認為只有xbyte[2]=0x58(即忽略前三條語句,只產生一條機器**)。如果鍵入

volatile,則編譯器會逐一的進行編譯並產生相應的機器**(產生四條**)

#define gpiof               ((gpio_typedef *) gpiof_base)

繼續追蹤下去實質為外部位址的對映,gpiof_base是乙個gpiof的基址,(gpio_typedef *) 將其強制轉化為指向結構體的指標,所以gpiof實際是乙個指標

STM32學習之 stm32中C語言的資料型別

stm32 c語言資料型別 在程式設計過程中,不同的cpu,其資料型別的意義各不相同,所以一定要注意相應變數資料型別的定義和轉換,否則在計算中可能會出現不確定的錯誤。一 c語言中的種類資料 整型 int short long 實型 float double stm32中的資料型別非常的多,常用的變數...

STM32庫檔案相關

1.stm32f10x.h 實現外設的暫存器對映,和所有的中斷通道irq,新庫是stm32f105xc.h 2.core cm3.h 實現核心的暫存器對映,nvic,systick等 3.stm32f1xx.h 存放外設初始化結構體,及初始化函式宣告 4.stm32f1xx.c 存放外設庫函式 5....

STM32學習筆記

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