如何用一个函数读写多个单总线器件?

2019-07-15 09:49发布

1、举例有6只单总线传感器DHT11的数据线分别连接在51单片机的P01,P03,P12,P14,P23,P26或者AVR单片机的PA1,PA3,PB2,PB4,PC3,PC6上,这里不考虑用多路开关等附加硬件,如何写出较精简的读写函数呀?
2、少动什么脑筋的方法是先写针对1个端口的读写函数,然后再拷贝5份,更改对应端口,完成6个DHT11的读写。这样做可行,但程序不精练,长且乱。
3、如果能用单片机端口作为函数参数,则可以用一个函数完成多个DHT11读写。但是用iccavr测试单片机端口作为函数参数不行,网上搜了,有些用端口ID间接传入,在函数内用switch case判断的方法与第2条的方法代码量也差不多。请教各位高手有何良策。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。