本帖最后由 冷漠 于 2009-12-28 13:57 编辑
挺简单的:把端口需要改变部分的语句说明为extern ,另写一个配置模块test_config.C就行了。
下面提供三个模块,把模块二、三、做成库testlib.LIB。需要改变的部分做在配置模块test_config.C里,并包含在主模块test_main.C 中。
改变时,只要改变PORT.H的内容就行了。
模块一、test_main.c
#include <reg51.h>
#include "PORT.h"
#include "main.h"
#include"test_config.c"
extern void lib(void);
main()
{
while(1)
{
lib( );
}
}
模块二、test_lib.C
// #include <reg51.h>
#include "main.h"
extern void port_out(uchar,bit);
void lib( )
{
port_out(id_cs,off);
//.....
port_out(id_dat,on);
port_out(id_cs,on);
port_out(id_dat,off);
}
模块三、test_config.C
#include <reg51.h>
#include "main.h"
#include "PORT.h"
void port_out( uchar port_id, bit val )
{
switch(port_id)
{
case id_cs :
_cs = val;
break;
case id_dat:
_dat= val;
break;
default:
break;
}
} |