0
点赞
收藏
分享

微信扫一扫

单片机:模块化程序设计

单片机C语言模块化设计

模块化设计是为了以后相同功能的代码方便调用,避免重复输入代码。

我们原来写过延时函数、按键判断等,在写新程序时可以直接添加并引入。

A 通过头文件引入到新工程中

    以延时函数为例:

       1.延时函数代码所在文件:delay.c

          必须引入delay.h头文件

          具体代码如下:

#include "delay.h"
  void delay(unsigned int time)
   {
   unsigned int x,y;
   for(x=time;x>0;x--)
   for(y=110;y>0;y--);
   }

           2.延时头文件delay.h

    注意:#ifndef空格+下划线+头文件名大写(点用下划线代替)+下划线

#ifndef _DELAY_H_
    #define _DELAY_H_
    void delay(unsigned int time);
    #endif

   3.主程序文件需要引入头文件

    main.c

    #include "delay.h"

    在主函数中需要的位置可以直接调用其函数

   4.以后如果设计其他应用时,可以直接将delay.c delay.h放入到新工程中,并添加

    在新程序文件中引用相应的头文件,在需要的位置即可直接调用,所以以后设计其他程序时可通过此方法快速调用

B不用头文件,只引入相应的代码文件

  以延时函数为例:

  1.延时函数代码所在文件:delay.c

    必须引入delay.h头文件

    具体代码如下:

#include "delay.h"
    void delay(unsigned int time)
    {
    unsigned int x,y;
    for(x=time;x>0;x--)
     for(y=110;y>0;y--);
    }

  2.将delay.c复制到新工程位置,并增加delay.c文件到工作项目中

  3.在需要调用的C程序文件中声明函数:

    extern void delay(unsigned int timer);

    然后在当前模块中需要位置可直接调用该函数了

注意:extern是C/C++语言中表明函数和全局变量的作用范围的关键字,该关键字告诉编译器,其申明的函数和变量可以在本模块或其他模块中使用。





举报

相关推荐

关于模块化程序设计

0 条评论