하드웨어 I / O 포인트 또는 핀에 대한 C ++ 추상화를 찾고 있습니다. in_pin, out_pin, inout_pin, 아마도 open_collector_pin 등과 같은 것들
나는 분명히 그런 추상화 세트를 스스로 만들 수 있으므로 '이봐, 너는 이런 식으로 할 수있다'유형의 답변을 찾고 있지 않고 오히려 이것과 이것에 사용 된이 라이브러리를보고 이 프로젝트 '.
다른 사람들이 이것을 어떻게 부를지 모르겠 기 때문에 Google은 아무것도하지 않았습니다.
저의 목표는 이러한 점을 기반으로하지만 그러한 점을 제공하는 I / O 라이브러리를 구축하는 것입니다. 예를 들어 HD44780 LCd를 칩의 IO 핀 또는 I2C (또는 SPI)에 쉽게 연결할 수 있습니다. I / O 익스텐더 또는 LCD 클래스를 변경하지 않고 어떻게 든 제어 할 수있는 다른 지점.
나는 이것이 전자 / 소프트웨어 가장자리에 있다는 것을 알고 있습니다. 여기에 속하지 않으면 죄송합니다.
@leon : 배선 소프트웨어의 큰 가방입니다. 자세히 살펴 봐야합니다. 그러나 그들이 원하는 것처럼 핀 추상화를 사용하지 않는 것 같습니다. 예를 들어 키패드 구현에서
digitalWrite(columnPins[c], LOW); // Activate the current column.
이는 I / O 핀에 쓰는 방법을 알고있는 하나의 기능 (digitalWrite)이 있음을 의미합니다. 따라서 digitalWrite 함수를 다시 작성하지 않고 새로운 유형의 I / O 핀 (예 : MCP23017에있는 핀)을 추가 할 수 없습니다.
@Oli : Arduino IO 예제를 봤지만 Wiring 라이브러리와 동일한 접근 방식을 사용하는 것 같습니다.
int ledPin = 13; // LED connected to digital pin 13
void setup(){
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}