从STM32中学到的工程建立方法
但是这阵子接触到了模块化的思想,每一个外设,对应着一个单独的驱动程序,包括一个c文件还有一个h文件。在建立工程之后,先建立组,包括USER,可以把主文件放在这个组里面;SYSTEM组,可以吧系统的一些通用型文件放在这个组里面;HARDWEAR组,可以把外设放在这个组里面。还可以建立一个组放说明性的文件。这样使得整个工程的结构十分的清晰,在调试程序的时候十分方便,在以后自己重新看这个工程的时候也可以很快的理清整个工程个脉络。
在主文件里面,也就是main.c文件里面,写主程序的代码,其他的函数通过调用头文件的方式来调用。对于每一个外设,都要有一个单独的驱动程序,这样的话可以十分方便的进行移植,记得在假期写的MSP430驱动12864液晶以及矩阵键盘的程序,修改了很少的地方就可以移植到STM32上进行使用,大大的缩短了自己的开发时间。在电设正式比赛的时候,我写程序基本上就是在复制粘贴,重新构架程序的框架,因为之前的训练中基本上把各个模块的驱动程序都写好了。
在外设驱动程序的H文件中,主要进行函数的声明,一定要切忌在头文件中定义变量或者定义函数,因为在一个工程中,同一个变量或者函数可以被声明很多次,但是只可以进行一次定义!因为头文件可能不只是在一个文件中调用,所以不可以出现 定义!否则编译会出错的!函数的声明就是函数声明的一般形式。变量的声明可以采用 extern int i;的形式。但是一定要注意extern int i;和extern int i=0;的区别,前者是声明,后者是定义。只要是需要调用此外设驱动函数和变量的文件中,就要加上#include
#ifndef _LED_H
#define _LED_H
#define LED0 PAout(9)
extern u8 x;
void LED(void);
#endif
在外设的c文件中,主要是定义相关的变量,还有相关的驱动函数,本文件所涉及到的函数使用也要通过头文件的调用进行声明。
所以,头文件可以理解为就是各个c文件之间连接的桥梁。在各个c文件中才是变量以及函数的声明。
STM32工程建 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)