AVR माइक्रोकंट्रोलर्स के लिए डेटशीट पढ़ने के लिए यथोचित हैं। अपने Arduino (जैसे। ATmege328) पर सटीक नियंत्रक के लिए बस Google और atmel.com वेबसाइट पर "पूर्ण" डेटशीट खोजें । "सारांश" डाउनलोड न करें, इसमें बहुत सारी जानकारी शामिल नहीं है। डेटाशीट को atmel.com से डाउनलोड करें, जो हाल ही के प्रलेखन के साथ एकमात्र स्थान है।
बुनियादी IO में तीन रजिस्टर का उपयोग किया जाता है ("I / O-Ports" नामक अध्याय की जाँच करें):
जहाँ n एक पोर्ट आइडेंटिफ़ायर है, A, B, C, ... से एक अक्षर है, जो आपके नियंत्रक द्वारा IO पिन की संख्या पर निर्भर करता है। प्रत्येक रजिस्टर में प्रत्येक बिट एक एकल GPIO पिन का प्रतिनिधित्व करता है (हाँ, आपको इसे समझने के लिए बाइनरी पर कुछ बुनियादी ज्ञान की आवश्यकता है)।
- DDR n , डेटा डायरेक्शन रजिस्टर: यह मूल रूप से इनपुट (0) या आउटपुट (1) के लिए पिन को कॉन्फ़िगर करता है।
- पोर्ट एन , पोर्ट एन डेटा रजिस्टर: जब एक पिन आउटपुट के रूप में सेट किया जाता है, तो संबंधित बिट आउटपुट पिन को उच्च (1) या कम (0) करता है। जब इनपुट के रूप में कॉन्फ़िगर किया जाता है, तो यह आउटपुट पिन पर एक कमजोर पुल प्रतिरोधी को सक्षम करता है।
- PIN n , पोर्ट n इनपुट रजिस्टर: इनपुट के रूप में कॉन्फ़िगर किए गए पिन पर वर्तमान स्तर को पढ़ने के लिए इस रजिस्टर का उपयोग करें।