我正在寻找硬件I / O点或引脚的C ++抽象。诸如in_pin,out_pin,inout_pin或open_collector_pin之类的东西。
我当然可以自己提出这样的一组抽象,所以我不是在寻找“嘿,您可能会用这种方式”类型的答案,而是在“看一下在此库中使用的该库”。这个项目'。
Google没做任何事情,也许是因为我不知道其他人怎么称呼它。
我的目标是建立基于这些点的I / O库,但也要提供这些点,因此例如将HD44780 LCd连接到芯片的IO引脚或I2C(或SPI)将很容易I / O扩展器或可以通过其他方式控制的任何其他点,而无需更改LCD类。
我知道这是电子/软件方面的问题,很抱歉,如果它不属于这里。
@leon:接线这是一大包软件,我需要仔细看。但是似乎他们没有像我想要的那样使用pin抽象。例如在键盘实现中,我看到
digitalWrite(columnPins[c], LOW); // Activate the current column.
这意味着存在一个知道如何写入I / O引脚的函数(digitalWrite)。这使得在不重写digitalWrite函数的情况下,无法添加新型的I / O引脚(例如,MCP23017上的一个,因此必须通过I2C对其进行写入)。
@Oli:我在Arduino IO示例中进行了搜索,但是似乎使用了与Wiring库相同的方法:
int ledPin = 13; // LED connected to digital pin 13
void setup(){
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}