मैं हार्डवेयर I / O अंक या पिन के लिए C ++ एब्स्ट्रैक्ट की तलाश कर रहा हूं। In_pin, out_pin, inout_pin, शायद open_collector_pin, आदि जैसी चीजें।
मैं निश्चित रूप से खुद को अमूर्तता के ऐसे सेट के साथ आ सकता हूं, इसलिए मैं 'हे की तलाश में नहीं हूं, आप इसे इस तरह से कर सकते हैं' प्रकार के उत्तर, बल्कि इस लाइब्रेरी को देखें जो इस और इस में उपयोग किया गया है यह परियोजना'।
Google ने कुछ भी नहीं किया, शायद इसलिए कि मुझे नहीं पता कि दूसरे इसे कैसे कहेंगे।
मेरा उद्देश्य I / O पुस्तकालयों का निर्माण करना है जो ऐसे बिंदुओं पर आधारित हैं, लेकिन ऐसे बिंदु भी प्रदान करते हैं, इसलिए उदाहरण के लिए एक HD44780 LCd को चिप के IO पिन या I2C (या SPI) से जोड़ना आसान होगा। I / O एक्सटेंडर, या कोई अन्य बिंदु जो किसी भी तरह से नियंत्रित किया जा सकता है, बिना एलसीडी क्लास के किसी भी बदलाव के।
मुझे पता है कि यह इलेक्ट्रॉनिक्स / सॉफ्टवेयर बढ़त पर है, क्षमा करें यदि यह यहां नहीं है।
@ एलोन: वायरिंग सॉफ्टवेयर का एक बड़ा बैग है, मुझे करीब से देखने की आवश्यकता होगी। लेकिन लगता है कि वे एक पिन अमूर्तता का उपयोग नहीं करते हैं जैसे मैं चाहता हूं। उदाहरण के लिए कीपैड कार्यान्वयन में मैं देख रहा हूं
digitalWrite(columnPins[c], LOW); // Activate the current column.
इसका तात्पर्य यह है कि एक फ़ंक्शन (digitalWrite) है जो जानता है कि I / O पिन कैसे लिखना है। इससे एक नए प्रकार के I / O पिन को जोड़ना असंभव हो जाता है (उदाहरण के लिए एक MCP23017 पर, इसलिए इसे I2C के माध्यम से लिखा जाना चाहिए) बिना digitalWrite फ़ंक्शन को फिर से लिखना।
@ ओली: मैंने एक Arduino IO का उदाहरण दिया, लेकिन वायरिंग लाइब्रेरी के समान दृष्टिकोण के बारे में उपयोग करना प्रतीत होता है:
int ledPin = 13; // LED connected to digital pin 13
void setup(){
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}