如果你使用stm32f10x_stdperiph_lib,會發現在stm32f10x.h檔案會有一段關於巨集選擇的**,如:
[cpp]view plain
copy
#if !defined (stm32f10x_ld) && !defined (stm32f10x_md) && !defined (stm32f10x_hd) && !defined (stm32f10x_cl)
/* #define stm32f10x_ld */
/*!/* #define stm32f10x_md */
/*!/* #define stm32f10x_hd */
/*!#define stm32f10x_cl /*!
#endif
至於要使用哪個巨集,則需要根據具體的晶元來進行選擇。那麼,這些巨集又對應著哪些具體的晶元呢?其實我們可以在《reference manual》的第九章中找到答案,如文件截圖:
這段話的意思很明顯,如果是stm32f105xx和stm32f107xx,是connectivity line devices,則巨集定義選擇的是stm32f10x_cl;如果是別的型號,則根據flash的容量來進行選擇。可能文字寫的有點不太清楚,還是以**來說明:
巨集
mcu 型號
flash大小
stm32f10x_ld
stm32f101xx
stm32f102xx
stm32f103xx
16 ~ 32 kbytes
stm32f10x_md
stm32f101xx
stm32f102xx
stm32f103xx
64 ~ 128 kbytes
stm32f10x_hd
stm32f101xx
stm32f103xx
256 ~ 512 kbytes
stm32f10x_cl
stm32f105xx
stm32f107xx
忽略這些引數,和mdk的裝置引數一致,如圖所示:
STM32F10X XX巨集定義的選擇及含義
iar編譯器中stm32f10x xx巨集定義的選擇 其中use stdperiph driver和stm32f10x hd什麼意思?1 use stdperiph driver 即這個定義控制了是否在應用中啟用外設驅動。我們使用標準外設庫本來就為了方便控制外設,所以要新增這個定義,以啟用外設驅動。...
STM32F10x系列 中斷
概念問題 中斷與事件有什麼聯絡與區別?stm32之中斷與事件 中斷與事件的區別 簡單概括下。中斷 cpu單執行緒情況下只能處理單一任務,在有零時任務需要處理時,可以暫時放下當前任務,優先處理零時任務,再回過來處理之前的任務。多個中斷可以進行巢狀,比如產生了多個零時任務,那麼就可以按照優先順序處理這多...
對stm32f10c gpio c的學習
1 gpio 暫存器 每組io口含下面7個暫存器。也就是7個暫存器,一共可以控制一組gpio的16個io口。gpiox crl 埠配置低暫存器 gpiox crh 埠配置高暫存器 gpiox idr 埠輸入暫存器 gpiox odr 埠輸出暫存器 gpiox bsrr 埠位設定 清除暫存器 gpio...