您的位置 首页 被动

stm32_文件安排结构

以前给出完整程序时,是为了方便初学者看。将main函数用到的所有函数都放到main函数后,在main函数前加上函数声明,这样会显得main.c文件没…

曾经给出完好程序时,是为了便利初学者看。将main函数用到的一切函数都放到main函数后,在main函数前加上函数声明,这样会显得main.c文件没有层次,一切函数在main.c中减弱了功用代码。

一般项目中的文件安排结构是这样的:main.c文件只包括表现功用的代码。

main.c头文件只包括两个


#include “stm32f0xx.h”
#include “hw_config.h”

接下是用户自界说的宏,这些宏也要是跟功用休戚相关的,说白了便是main函数用到的,假如跟功用不直接相关,能够放到hw_config.h界说,如GPIO管脚的界说


#defineOEGPIO_Pin_5

接下是全局变量的界说,也是本着main函数用到的在这里界说。

接下便是main函数了,其结构是


void main(void)
{
//界说main函数用到的局部变量

//初始化全局变量和局部变量

//初始化硬件,如RCC、NVIC、GPIO、TIM、USART、Systick、IWWDG等

//下面便是完成功用代码了,一般是while(1)结构.
while (1)
{
}
}

main.c文件就包括这些代码,至于main函数调用的函数,如RCC_Configuration、NVIC_Configuration、GPIO_Configuration、SysTick_Configuration、USART1_Configuration等,在hw_config.h声明,在hw_config.c中界说。

留意:由于main函数调用的一切函数都在hw_config.c中界说,所以在hw_config.c中势必会界说一些变量,而这些变量在main.c文件中也要用到,只需将这些变量在hw_config.h中extern声明一下。这样即便stm32f0xx_it.c也用到hw_config.c中界说的这些变量,也只需包括hw_config.h头文件即可。

以一个计数变量usart1_invalidframe_time为例,在hw_config.c界说,在hw_config.h顶用extern声明,在main.c中清零(usart1接收到数据将该变量清零),在stm32f0xx_it.c的SysTick_Handler函数中每1ms加加一次。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/275246.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部