Keil宏定義和如何知道單片機(jī)資源名稱
在Keil的工程設(shè)置中需要根據(jù)所選單片機(jī)來更改宏定義,如果程序移植后,宏定義沒有更改過去,有時(shí)候會(huì)報(bào)錯(cuò)。
這個(gè)宏定義代表了芯片的類型,如下:
因此需要根據(jù)自己芯片的類型,更改宏定義。
如何知道自己芯片的資源名稱呢?比如定時(shí)器叫什么名字?
可以打開stm32f10x.h文件,往下拉可以看見:
這些宏定義代表:
STM32F10X_LD_VL 對(duì)應(yīng)于 LowDensity ValueLine,即小容量的STM32F100
STM32F10X_MD_VL 對(duì)應(yīng)于 MediumDensity ValueLine,即中等容量的STM32F100
STM32F10X_HD_VL 對(duì)應(yīng)于 HighDensity ValueLine,即大容量的STM32F100
STM32F10X_CL 對(duì)應(yīng)于 ConnectivityLine,即STM32F105、STM32F107
其實(shí)更常用的是STM32F103:
STM32F10X_LD 對(duì)應(yīng)于 LowDensity ,即小容量的STM32F103、101
STM32F10X_MD 對(duì)應(yīng)于 MediumDensity ,即中等容量的STM32F103、101
STM32F10X_HD 對(duì)應(yīng)于 HighDensity ,即大容量的STM32F103、101
比如芯片是STM32F103C8T6,flash是64K,是中等容量的STM32F103,即STM32F10X_MD ,因此對(duì)應(yīng)到stm32f10x.h文件下的:
可知到,該芯片有TIM2、TIM3、TIM4三個(gè)普通定時(shí)器,有TIM1一個(gè)高級(jí)定時(shí)器,串口有三個(gè)。。。