我现在用51单片机控制多个相同的传感器,Keil中已经写好了对一个传感器的驱动。当扩展到多个传感器的时候怎样复用一段程序来多不同的IO口操作。
比如
//----------------------------------------------------------
//P1^1和P1^2是第一个传感器连接的IO口
sbit DIN = P1^1;
sbit DOUT = P1^2;
void program()
{
……
//对 DIN和DOUT进行读写操作
}
//---------------------------------------------------------
如果我又添加了一个相同的传感器,连接的是P1^3,P1^4。怎样使用同一个“program”程序,用DIN和DOUT代替P1^3,P1^4进行操作呢?
虽然可以复制粘贴程序,改成每个传感器各单独的使用一段程序控制,但是我想简洁一点,让它们复用同一段程序来控制。
------解决思路----------------------
sbit类型的数据没有指针特性,要以参数的方式进行调用应该是不可行的,
还请专家能给个解决方案呢.
------解决思路----------------------
如果传感器比较多的话推荐用选通器, 这样单片机资源消耗少
------解决思路----------------------
加硬件需要成本,现在的单片机资源足够你用的