问题是这样的,有一块PIC16F877A的板子,实现IIC对多个同类型传感器数据的读取,IO模拟IIC协议,传感器没有挂在同一总线,每组IIC接口都是独立的,传感器器件地址相同,怎样依次读取传感器数据?
我做的事情:把寄存器直接作为参数传入:
void IIC_Start(bit IIC_SDA,bit IIC_SCL); //这样子声明出错,说bit没有定义
void IIC_Start(bit IIC_SDA,bit IIC_SCL)
{
IIC_SDA=1;
Delay_10us();
IIC_SCL=1;
Delay_10us();
IIC_SDA=0;
Delay_10us();
IIC_SCL=0;
Delay_10us();
}
void IIC_Start(RA0,RB0);
我知道一组可以用#define IIC_SDA RA0 这样写,但是我想每组IO都能重复调用模拟IIC协议的函数。
真不知道该怎么办了,身边也没有人能请教,这个问题已经困扰我好久了,能否给一小段范例程序学习一下,万分感激!!
|