GPIO چیست؟

از مفاهیم ابتدایی کار با میکروکنترلرها یا میکروپروسسورها، راه‌اندازی GPIO است. اما گاهی اوقات در آی‌سی‌های خاص هم این واژه را در کارکرد پایه‌ها می‌بینیم. در این پست به بررسی مفهوم GPIO می‌پردازیم تا در آینده بهتر بتوانیم در خصوص راه‌اندازی آن در میکروکنترلرهای STM32 صحبت کنیم.

GPIO چیست؟

یک مدار مجتمع دیجیتال که می‌تواند میکروکنترلر، FPGA، یا یک آی‌سی خاص باشد، از طریق پایه‌های خود با سایر اجزا مدار ارتباط برقرار می‌کند. به عبارتی -در حالت دیجیتال- با صفر و یک کردن پایه‌ها، اطلاعاتی را به بیرون انتقال می‌دهد یا با خواندن صفر و یک‌هایی که به آن اعمال می‌شود، اطلاعاتی را دریافت می‌کند.

گاهی این پایه‌ها یک نقش ثابت را برعهده می‌‎گیرند. مثلاً فرض کنید پایه یک آی‌سی به عنوان پایه فرستنده(TX) در پروتکل سریال(USART) تعریف می‌شود. در این حالت تحت قوانین از پیش تعیین شده USART، رفتار این پایه تغییر می‌کند. اما گاهی ممکن است نیاز باشد کاربر به صورت مستقیم پایه را یک یا صفر منطقی کند. یا در حالت ورودی مقدار قرارگرفته بر روی آی‌سی را بخواند. در این صورت پایه باید به عنوان GPIO1 تنظیم شود. در واقع در حالت GPIO ما یک نقش کلی (General) به پایه داده‌ایم که کاربر به شکل دلخواه و مستقیم می‌تواند وضعیت مورد نظر خود را بر روی پایه لحاظ کند یا مقدار قرار گرفته بر روی آن را بخواند.

از کاربردهای GPIO در حالت خروجی، می‌توان به روشن یا خاموش کردن Led و در حالت ورودی، برای فهمیدن وضعیت یک کلید در مدار اشاره کرد. این دو مثال کاربرد بسیار ساده و معمول GPIO را نشان می‌دهند. هرچند کاربردهای پیچیده‌ی دیگری نیز می‌تواند داشته باشد، که به تدریج در آینده از آن‌ها خواهیم گفت.

پانوشت:

  1. General Purpose Input/Output

1 نظر / نظر خود را در زیر وارد کنید

دیدگاهتان را بنویسید

19 + 4 =