در این مقاله نحوهی راهاندازی GPIO مربوط به میکروکنترلر ARM را آموزش میدهیم. لازم به ذکر است تمام آموزشها، مربوط به میکروکنترلر ARM- LPC1768 میباشد، در همه جای مقالات آموزشی ARM، منظور از کلماتی نظیر “میکرو”، “میکروکنترلر”، “آرم” و …. میکروکنترلر ARM – LPC1768 میباشد.
به صورت کلی برای راهاندازی هر بخش از میکروکنترلر باید رجیسترهای بخش مربوطه را کاملا مسلط بود، به عبارت دیگر باید بدانیم در هر بخش چه رجیسترهایی وجود دارد، و هر رجیستر برای انجام چه کاری طراحی شده است، در نتیجه برای راهاندازی بخش GPIO باید رجیسترهای این بخش را بشناسیم، نکتهی مهم دیگر اینکه همهی رجیسترهای این میکرو 32 بیتی هستند.
LPC_GPIO2-> FIODIR = 0x01
با این دستور پایهی P2.0 به صورت خروجی تعریف میشود، اگر هم زمانی بخواهیم پایهای را به صورت ورودی تعریف کنیم باید مقدار ‘0’ را در این رجیستر مقداردهی کنیم.
LPC_GPIO2-> FIOSET = 0x01
نکتهی دیگر اینکه اگر مقدار صفر منطقی به این رجیستر بدهیم، اتفاق خاصی نخواهد افتاد، اتفاق به این معنی که پین مورد نظر با نوشتن صفر در آن Pull Down نمیشود و همانطور Pull Up باقی میماند.
LPC_GPIO2-> FIOCLR = 0x01
نکتهی دیگر اینکه اگر مقدار صفر منطقی را به این رجیستر بدهیم، اتفاق خاصی نخواهد افتاد، اتفاق به این معنی که پین مورد نظر با نوشتن صفر در ان Pull Up نمیشود و همانطور Pull Down باقی میماند.
LPC_GPIO2->FIOPIN & (1 << 3 )
راهاندازی بخش GPIO در میکروکنترلر ARM LPC1768
در انتها نمونه کد زیر برای GPIO نوشته شده است:
#include <lpc17xx.h> int main() { LPC_GPIO2->FIODIR = 0xFF; LPC_GPIO2->FIOSET = 0xFF; }
در خط اول کتابخانهی میکروکنترلر lpc1768 افزوده شده است، این کتابخانه، دستورات مورد نیاز برای ارتباط و کار با قطعات جانبی را فراهم میکند و هر میکروکنترلر کتابخانهی مخصوص به خود را دارد.
در خط سوم تابع main تعریف شده است، تابع main بدنهی کدنویسی به زبان C است و در اکثر زبانهای مشتقشده از C نیز به این صورت است.
در خط هفتم، LPC_GPIOn مربوط به کلاسهای کار با ورودی و خروجیهاست، به جای n در این کد شماره PORT قرار داده میشود، برای مثال در این پروژه پورت دو LPC_GPIO2 انتخاب شده است.
در این هفتم جهت پایههای P2.0 تا P2.7 به صورت خروجی تعریف میشوند و در خط نهم هر هشت پایه ولتاژ High میگیرند.
به منظور مشاوره و ارتباط با ما؛ در تلگرام به آیدی زیر پیام بدهید:
یا با شماره تلفن:
تماس حاصل فرمایید.
سایر راههای ارتباطی را در صفحه «تماس با شرکت رباتسازان» در اختیار شماست.