位定义

2020-01-30 13:45发布

我想在C语言中实现以下功能,就是在位定义的时候,实现变量名一样,端口对应不一样,如何实现??我IIC头文件使用的是SCL、SDA的符号
                                     sbit        SCL=P2^1;      //HMC5883L IIC时钟
                  sbit        SDA=P2^0;      //IIC数据
               
                 sbit        SCL=P2^3;      //ADXL345 IIC时钟
                   sbit        SDA=P2^2;      //IIC数据



                       
               
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
qllaoda1
1楼-- · 2020-01-31 10:43
楼主是想把sbit作为参数传递到IIC的操作函数里,这样两个IIC就可以用同一个函数了,对吧?
蕾蕾
2楼-- · 2020-01-31 11:59
 精彩回答 2  元偷偷看……
蕾蕾
3楼-- · 2020-01-31 17:14
z903057128 发表于 2013-4-17 14:17
如果你这两个器件的地址不一样  完全可以只用一组端口啊

可是我位定义的变量一定要是SDA和SCL的,因为我IIC的程序是用这两个变量名
蕾蕾
4楼-- · 2020-01-31 21:18
蕾蕾 发表于 2013-4-17 14:06
谢谢二楼三楼,我问题已经解决了
sbit        HSCL=P2^1;      //HMC5883L IIC时钟
sbit        HSDA=P2^0;      //IIC数 ...

不过后面按照这个方法,虽然没有语法错误,不过下载到板子,有问题
z903057128
5楼-- · 2020-02-01 01:50
蕾蕾 发表于 2013-4-17 20:31
可是我位定义的变量一定要是SDA和SCL的,因为我IIC的程序是用这两个变量名 ...

你应该再看看I2C    I2C总线上是可以挂多个器件的   通过不同的地址去区分    即便你有两个器件  也只需要一组端口了   自然也就会只有一组位定义  
蕾蕾
6楼-- · 2020-02-01 01:51
现在就是网上也找不到相关资料,所以要请教一下大家了

一周热门 更多>