给你个方法,但估计也节省不了多少书写时间. 最少每口都要定义一个独立的 Readbyte和WriteByte的函数.
#include "stdafx.h"
//有多少个Port就定义多少个ReadBytex 函数
unsigned char ReadByte1()
{
printf("Reading Port 1\n");
return 0x11;
}
unsigned char ReadByte2()
{
printf("Reading Port 2\n");
return 0x22;
}
//用宏定义封装,便于调用. ##是连接符号. 不一定每个编译器都支持.
#define ReadByte(PORT_NUM) ReadByte##PORT_NUM()
int main(int argc, char* argv[])
{
unsigned char data,total;
data=ReadByte(1);
total=ReadByte(2)+data;
printf("Total is : %x\n",total);
return 0;
}
/* 下面是运行结果
Reading Port 1
Reading Port 2
Total is : 33
Press any key to continue
*/ |