لینک : قسمت معرفی کتابخانه

 

لینک اولین قسمت راهنمای استفاده

 

 

موضوع : راهنمای استفاده از قسمت  مربوط به درایور xpt2046 ( بخش اول – تنظیم پریفرالها)

 

با درود .

در این قسمت تنظیمات مربوط به پریفرالهای مربوط به درایور xpt2046 کتابخانه را توضیح خواهم داد.

همانطور که قبلا گفته بودم  کتابخانه از توابع هال استفاده نمیکند .و کدهای  مربوط پریفرالها  به صورت رجیستری نوشته شده اند .

ولی به دلیل جلوگیری از پیچیده شدن بیش از حد کتابخانه و انعطاف پذیری  آن  پیکربندی اولیه پریفرالها (  فعال سازی باس دیتا و روشن کردن clock  پریفرال )ادرون کتابخانه انجام نشده است و لازم است در بیرون کتابخانه این کار را انجام دهیم .

من ترجیح میدم این کار را به وسیله نرم افزار CubeMx  انجام دهم . که این نرم افزار این کار را به وسیله توابع  HAL و LL  انجام میدهد .

دوستانی که نمیخواهند از توابع HAL استفاده کنند و تمایل دارند کدهای تنظیمات پریفرالها را با استفاده از CMSIS یا توابع SPL یا به هر نحو دیگری بنویسند . لازم است که تنظیمات مربوط را بنا بر  توضیحات زیر انجام دهند.

 

 

تنظیمات پریفرالها :

تنظیمات مربوط به پریفرالها شامل 2 بخش است .

1- GPIO

2 -  واحد SPI

*********************************************************

*********************************************************

1 - تنظیمات مربوط به GPIO :

این کتابخانه به طور معمول به 1 پین GPIO نیاز دارد که برای فعال سازی چیپ xpt2046   استفاده میشود( پایه T_CS ).

اما گاها و بنا به شیوه ی برنامه نویسی ممکن است به یک پین دیگر هم نیاز باشد .( PEN  یا PEN_IRQ ).

*********************************************************

تنظیمات مربوط به پین T_CS  یا همان XPT2046_CS  :

در تصویر زیر تنظیمات مربوط در CubeMX را مشاهده میکنید . ( کادر قرمز)

 

 

*********************************************************

تنظیمات مربوط به پین PEN_IRQ :

عملکرد پین PEN درچیپ   xpt2046 به این صورت است که در صورتی که  کاربر آنرا فعال کرده باشد ( با انتخاب مد توان فعال یا غیر فعال میشود ) هنگام لمس شدن صفحه تاچ  ولتاژ آن low  میشود .

تنظیمات ارائه شده در این مطلب برای این پین صرفا یک پیشنهاد است و شما بنا بر نیاز پروژه میتواند تنظیمات متفاوتی را انجام دهید .( اما پیشنهاد من این است که برای راه اندازی و تست کتابخانه حتما از این تنظیمات استفاده نمایید )

 در تصویر زیر تنظیمات مربوط به این پین را مشاهده میکنید .

 

*********************************************************

*********************************************************

1 - تنظیمات مربوط به SPI:

 برای تنظیم  spi  ابتدا لازم است که آنرا به صورت  Full-DuplexMaster  راه اندازی نماییم .

ابتدا به سربرگ pinout  رفته (کادر قرمز ) و سپس واحد SPI را مانند تصویر زیر فعال نمایید (کادر سبز)

 

سپس به سربرگ configuration  ( کادر قرمز ) بروید و SPI  فعال شده را مانند تصویر زیرانتخاب نمایید .

 

 

در این مرحله لطفا  تنظیمات را مانند تنظیم زیر انجام دهید .

و مقدار بادریت ( کادر سبز)   کمتر از 2.5  Mbit/s باشد.

 

 

توجه :

در بعضی نسخه های CubeMx  ( نسخه 4.26 که مورد استفاده خودم هست  )  توابع هال تولید شده برای SPI اشکال دارند و به درستی کار نمیکنند . به همین جهت بهتر است توابع راه اندازی SPI  را به جای HAL روی LL  قرار دهید .

لطفا برای این کار به تصویر زیر توجه نمایید .

 

در اینجا تنظیمات  مربوط یه پریفرالها به پایان رسید.

 

 

لینک قسمت قبلی

لینک قسمت بعدی: در حال تکمیل