阅读野火stm32代码思考

在野火mini板蜂鸣器例程中遇到这样的几个宏定义:

#define BEEP_GPIO_PORT    	GPIOC			           
#define BEEP_GPIO_CLK 	    RCC_APB2Periph_GPIOC		
#define BEEP_GPIO_PIN		  GPIO_Pin_1			    

此程序段在bsp_beep.h头文件中,通过查看GPIOC、RCC_APB2Periph_GPIOC、GPIO_Pin_1,发现他们分别定义在stm32f10x.h、stm32f10x_rcc.h、stm32f10x_gpio.h等头文件中,而bsp_beep.h中只包含了stm32f10x.h这一个头文件,stm32f10x_rcc.h、stm32f10x_gpio.h从何而来呢?

通过对stm32f10x.h进行学习,发现其已经包含了stm32f10x_conf.h这个头文件,如图所示:

在这里插入图片描述
而stm32f10x_conf.h已经将外设的头文件已经包含其中了:
在这里插入图片描述

版权声明:本文为CSDN博主「weich37」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43112462/article/details/122569760

在野火mini板蜂鸣器例程中遇到这样的几个宏定义:

#define BEEP_GPIO_PORT    	GPIOC			           
#define BEEP_GPIO_CLK 	    RCC_APB2Periph_GPIOC		
#define BEEP_GPIO_PIN		  GPIO_Pin_1			    

此程序段在bsp_beep.h头文件中,通过查看GPIOC、RCC_APB2Periph_GPIOC、GPIO_Pin_1,发现他们分别定义在stm32f10x.h、stm32f10x_rcc.h、stm32f10x_gpio.h等头文件中,而bsp_beep.h中只包含了stm32f10x.h这一个头文件,stm32f10x_rcc.h、stm32f10x_gpio.h从何而来呢?

通过对stm32f10x.h进行学习,发现其已经包含了stm32f10x_conf.h这个头文件,如图所示:

在这里插入图片描述
而stm32f10x_conf.h已经将外设的头文件已经包含其中了:
在这里插入图片描述

版权声明:本文为CSDN博主「weich37」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43112462/article/details/122569760

生成海报
点赞 0

weich37

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

MDK 分散加载文件剖析(一)

1、何为分散加载? 1.1 简介 分散加载就是我们开发者能指定你的 代码 或者 数据变量 到指定的内存空间中运行。通知链接器把程序的某一部分连接在存储器的某个地址空间,我们可以通过编写一个分散加载文件来指定 ARM

笔记3:STM32F103与STM32F030的区别

在替换芯片时,发现STM32f103与STM32F030的区别: 内部结构 下图是103的IO口内部结构: 下图是030的IO口内部结构图: 通过上面的比较可以看出: 两个