একটি জিপিআইও পিন হ'ল 'সাধারণ উদ্দেশ্য ইনপুট / আউটপুট' পিন। এটি ডিফল্টরূপে কেবলমাত্র উচ্চ বা নিম্ন (ভোল্টেজের স্তর, উচ্চতর মাইক্রো কন্ট্রোলারের সরবরাহের ভোল্টেজ, কম সাধারণত স্থলভাগ বা 0 ভি) থাকে। তবে 'উচ্চ' এবং 'নিম্ন' এর স্তরগুলি সাধারণত সরবরাহের ভোল্টেজের অনুপাত হিসাবে ভোল্টেজ হিসাবে দেওয়া হয়। সুতরাং সাধারণত সরবরাহের ভোল্টেজের% 66% এর উপরে যে কোনও বিষয়কে একটি লজিক স্তর 'উচ্চ' হিসাবে বিবেচনা করা হয় যার অর্থ কিছু নিম্ন ভোল্টেজ ডিভাইস উচ্চ ভোল্টেজ ডিভাইসের সাথে কথা বলতে পারে যতক্ষণ স্তরটি 'উচ্চ' হিসাবে বিবেচিত হয় তার মধ্যে পড়ে। উদাহরণস্বরূপ একটি 1.8–2.7V লো পাওয়ার মাইক্রোকন্ট্রোলার বা জিপিএস রিসিভারের সাথে সরাসরি 5V মাইক্রোকন্ট্রোলারের সাথে যোগাযোগ করতে সমস্যা হবে কারণ লো ভোল্টেজ ডিভাইসটি 'উচ্চ' হিসাবে যেটি দেখছে উচ্চ ভোল্টেজ ডিভাইসটি একেবারেই উচ্চ বলে মনে করবে না। এটি জিপিআইওকে ইনপুট পিন হিসাবে ব্যবহার করার জন্য,
কখনও কখনও আপনি 'অ্যানালগ' মানগুলির জন্য একটি সিঙ্গল পিন ব্যবহার করতে পারেন, জিপিআইও পিনটি 'অ্যানালগ থেকে ডিজিটাল' (এডিসি) রূপান্তরকারীের মতো অন্যান্য অনবোর্ড ডিভাইসগুলির দ্বারা ব্যবহার করার জন্য কনফিগার করে। পিনটি এডিসির একটি চ্যানেলে সেট করা আছে এবং এটি এখন এডিসির ইনপুট হিসাবে কাজ করে, সাধারণ জিপিআইও পিন নয়। তারপরে আপনি কোনও নমুনা নেওয়ার জন্য এডিসি সেট করতে পারেন এবং এটি যদি 10-বিট রেজোলিউশন হয় তবে 0-1024 এর মতো সংখ্যার জন্য এডিসির ফলাফল রেজিস্টার মানটি পড়তে পারেন।
যেহেতু কেউ উল্লেখ করেছেন, জিপিআইও পিনটি সফ্টওয়্যারটিতে একটি পালস প্রস্থ মডিউলেশন (পিডাব্লুএম) সিগন্যালের প্রভাব দিতে সাধারণত জিপিআইও টগলিংয়ের জন্য কম গতিতে ব্যবহার করা যেতে পারে। বেশিরভাগ মাইক্রোকন্ট্রোলাররা পিডাব্লুএম জেনারেটরকে ডেডিকেটেড করে থাকে যা জিপিআইও পিনকে আউটপুট পিন হিসাবে ব্যবহার করতে কনফিগার করা যায় এবং এগুলি পিডাব্লুএম সিগন্যাল তৈরির জন্য জিপিআইও নিয়ন্ত্রণ করতে সফটওয়্যার ব্যবহার করার চেয়ে অনেক দ্রুত এবং অনেক বেশি স্থিতিশীল। পিডব্লিউএম 'গড়' বা '%' শৈলী সংকেতের জন্য ব্যবহৃত হয় এবং আপনাকে ম্লান আলোগুলি এবং মোটরের গতি নিয়ন্ত্রণের মতো কাজ করতে দেয়।
জিপিআইও পিনগুলি সাধারণত দলগুলিতে সাজানো থাকে, তাকে পোর্টস বলে। ছোট কন্ট্রোলারগুলিতে এগুলি 8-বিট আর্কিটেকচার হতে পারে, তাই বন্দরগুলি প্রায়শই 8 টির মধ্যে অনেকগুলি গ্রুপ করা হয় এবং তাদের মানগুলি একই সাথে একই সাথে একটি 'ডেটা রেজিস্ট্রার' পড়ার মাধ্যমে পড়তে পারে যা যুক্তির উচ্চ / নিম্ন মানের প্রতিনিধিত্ব করে পিনের। একইভাবে, আপনি পিনগুলি আউটপুট হিসাবে সেট করতে পারেন এবং তারপরে একটি ডেটা রেজিস্টারে 8-বিট লিখতে পারেন, এবং মাইক্রোকন্ট্রোলার্স জিপিআইও নিয়ন্ত্রক নিবন্ধকের পরিবর্তিত মানগুলি পড়তে পারবেন এবং পিনটি ড্রাইভ করবেন বা আপনি যে মানটি সেট করেছেন তা নির্ভর করে পিনটি কম টানবে।
এএসএম কর্টেক্স এ 8 এবং এ 9 এর মতো রাস্পবেরি পাই এবং বিগলবোনের মতো নতুন কন্ট্রোলারে, তাদের জিপিআইও নিয়ন্ত্রক এবং বিভিন্ন বিকল্প খুব জটিল। তারা একটি 32-বিট আর্কিটেকচার ব্যবহার করে, তাই বেশিরভাগ জিপিআইও পিনগুলি 32-পিন ব্লকগুলিতে সাজানো থাকে, যদিও সমস্ত বাস্তবে ব্যবহারযোগ্য না হয় (কিছু ডেডিকেটেড বা সক্ষম নাও হতে পারে)। বিগলবোন (যা আমি আগে কাজ করেছি) এর বিশাল পরিমাণের পিনের জন্য সত্যই দুর্দান্ত কিছু বিকল্প রয়েছে এবং কখনও কখনও আপনাকে একটি 'পিন ম্যাক্স' সরঞ্জাম ব্যবহার করতে হবে যা আপনাকে কিছু নির্দিষ্ট পিনের বিশেষ পদ্ধতিগুলি সেট আপ করার অনুমতি দেয় things যেমন পিডাব্লুএম, ডাল ক্যাপচার, টাইমার আউটপুটস, এনালগ (এডিসি) চ্যানেল ইনপুট, এবং এমনকি (বিগলবোন-তে) এআরএম কোরে উপলব্ধ শিল্প উপ-প্রসেসরগুলিকে ম্যাপিং, তবে স্বতন্ত্র প্রসেসর হিসাবে বিবেচিত হয় এবং তাদের নিজস্ব পিন ম্যাপিং প্রয়োজন অনুসারে বাইরের বিশ্বের সাথে সংযুক্ত হতে।