در اولین قدم باید کتابخانه ی lpc17xx_gpio.h رو به برنامه اضافه کنید.
#include “lpc17xx_gpio.h”
همون طوری که میدونید در میکرو هایlpc میشه با پورتها به صورت 32 بیتی و 16 بیتی و8بیتی کار کرد
کار کردن با پورتها به صورت 32 بیتی:
-1پایه های یک پورت به صورت ورودی یا خزوجی پیکر بندی میگردند.
شماره پورت : پورتی که میخواییم اون رو ورودی یا خروجی کنیم.(از 0 تا 4(
پایه های مورد نظر :عددی بین 0X00000000 تا 0XFFFFFFFF که به پینهای پورت اشاره دارد.
مثال:
برای ورودی کردن از عدد 0 و برای خروجی از عدد 1 استفاده میکنیم.
GPIO_SetDir(0,0X00000005,1);
در این حالت پینهای 0 و 2 از پورت 0 به عنوان خروجی پیکربندی شده اند.
-2توسط این دستورات پایه های یک پورت که به صورت خروجی پیکر بندی شده اندیک میگردند.
GPIO_SetValue( شماره پورت , پایه های مورد نظر ) ;
FIO_SetValue( شماره پورت , پایه های مورد نظر ) ;
-3توسط این دستوراتپایه های یک پورتکه به صورتخروجی پیکر بندی شده اند صفر میگردند.
GPIO_ClearValue( شماره
پورت , پایه
های مورد نظر ) ;
FIO_ClearValue( شماره پورت , پایه های مورد نظر ) ;
دستورات صفر و یک کننده ی پایه ها رو پین هایی که به صورت ورودی پیکربندی شدند یا اینکهاصلا پیکربندی نشدن هیچ تاثیری ندارد.
4- توسط این دستوراتعدد روی پایه های یک پورت رو بخونین.
Value= GPIO_ReadValue( شماره
پورت , پایه
های مورد نظر ) ;
Value=FIO_ReadValue( شماره پورت , پایه های مورد نظر ) ;
valueمتغیر 32 بیتی می باشد
5- توسط این دستورات میتوانید یک دسته از پین های یک پورت را از دسترس خارج کنید.
GPIO_SetMask( شماره پورت, پایه های مورد نظر, 0 یا 1) ;
FIO_SetMask( شماره پورت, پایه های مورد نظر, 0 یا 1) ;
در صورت قرار دادن عدد 1 عمل mask انجام و پینها غیر فعال میگردند واگر 0 بگذاریم
دوباره به حالت عادی باز گشته و امکان نوشتن و خواندن از انها فراهم میگردد.
کار کردن با پورت ها به صورت 16 بیتی:
1- توسط این دستورات پایه های یک پورت به صورت ورودی یا خروجی پیکر بندی میگردند.
FIO_HalfWordSetDir( شماره پورت, 16بیت بالا یا پایین , پایه های مورد نظر , 0 یا 1) ;
شماره پورت : پورتی که میخواییم آن را ورودی یا خروجی بکنیم.(از پورت 0 تا پورت 4)
برای 16 بیت رتبه پایین عدد 0 و16 بیت رتبه بالا عدد 1
پایه های مورد نظر :عددی بین 0X0000 تا 0XFFFF که به پینهای پورت اشاره دارد.
برای ورودی کردن از عدد 0 و برای خروجی از عدد 1 استفاده میکنیم.
مثال:
FIO_HalfWordSetDir(0,0,0X0005,1);
در این حالت پینهای 0 و 2 از پورت 0 به عنوان خروجی پیکربندی شده اند.
1- توسط این دستوراتپایه های یک پورتکه به صورتخروجی پیکر بندی شده اند یک
میگردند.
FIO_HalfWordSetDir(شماره پورت, 16بیت بالا یا پایین1 , پایه های مورد نظر );
2- توسط این دستورات پایه های یک پورت که به صورت خروجی پیکر بندی شده صفر میگردند.
FIO_HalfWordClearDir( شماره پورت, 16بیت بالا یا پایین , پایه های مورد نظر );
3- توسط این دستورات عدد روی پایه های یک پورت رو بخونین.
Value=FIO_HalfWordReadValue(شماره پورت , 16بیت بالا یا پایین) ;
valueیه متغیر 16 بیتی می باشد
4- توسط دستور زیر عمل mask فعال یا غیر فعال میگردد
FIO_HalfWordSetMAsk(شماره پورت, بیت بالا یا پایین16 , پایه های مورد نظر , 0 یا 1) ;
کار کردن با پورت ها به صورت 8 بیتی:
1- توسط این دستورات پایه های یک پورت به صورت ورودی یا خروجی پیکر بندی میگردند.
FIO_ByteSetDir(,8بیت شماره پورت صفر/اول/دوم/سوم , پایه های مورد نظر , 0 یا 1);
شماره پورت : پورتی که میخواییم ورودی یا خروجی کنیم.(از 0 تا 4)
پایه های مورد نظر :عددی بین 0X00 تا 0XFF که به پینهای پورت اشاره دارد.
برای ورودی عدد 0 و برای خروجی از عدد 1 استفاده میکنیم.
مثال:
FIO_ByteSetDir(0,0,0X05,1);
در این حالت پینهای 0 و 2 از پورت 0 به عنوان خروجی پیکربندی شده اند.
2 - توسط این دستورا ت پایه های یک پورت که به صورت خروجی پیکر بندی شده اند یک میگردند.
FIO_ByteSetDir(شماره پورت, 8بیتصفرم/اول/دوم/سوم , پایه های مورد نظر );
3- توسط این دستوراتپایه های یک پورتکه به صورتخروجی پیکر بندی شده صفر میگردند.
FIO_ByteClearDir(شماره پورت, 8بیتصفرم/اول/دوم/سوم , پایه های مورد نظر );
4- توسط این دستورات عدد روی پایه های یک پورت رو بخونین.
Value=FIO_ByteReadValue(شماره پورت , 8 بیت صفر/اول/دوم/سوم) ;
valueیه متغیر8بیتی می باشد
5- توسط دستور زیر عمل mask انجام یا غیر فعال میگردد
FIO_ByteSetMAsk(شماره پورت, 8بیتصفرم/اول/دوم/سوم, پایه های مورد نظر , 0 یا 1) ;