请问如何在函数中命名引脚,如
//两个函数在同一个程序中。以下为示例需求
void test()
{
P1_3= P1^3;
}
void ceshi()
{
P1_4= P1^3;
}
void main()
{
test();
ceshi();
}
一般需要在程序头部定义 sbit P1_1=P1^1,这个我知道。但是用什么办法可以实现以上功能呢?即在程序中给引脚改名
------解决思路----------------------
有人问过这问题的
最终目的就是实现IO口的参数化,原帖不好找了
你这个可以这样
sbit sda1=P1^1;
sbit sda2=P1^2;
void sda_set(uchar chn)
{
switch(chn)
{
case 1:sda1=1;break;
case 2:sda2=1;break;
.....
}
}
void sda_clr(uchar chn)
{
......
}
void scl_set(uchar chn)
{
...
}
......
//然后把I2C的函数也改成带参数的
void i2c_ack(uchar chn)
{
scl_clr(chn);
sda_set(chn);
scl_set(chn);
scl_clr(chn);
}
......
void i2c_sendbuye(uchar chn, uchar dat)
{
}