اولین پست مطلب :( قسمت اول :معرفی کتابخانه )
پست قبلی : (قسمت سوم :فایلهای کتابخانه )
پست بعدی :( هنوز تکمیل نشده )
با سلام .
توی این قسمت توابع مربوط به ارسال و دریافت رو توضیح میدم .
تابع spi_fast_communication_byte( uint8_t data);
این تابع یک بایت بدون علامت را به عنوان ورودی دریافت کرده و آنرا ارسال میکند و بایتی را که همزمان از شیفت رجیستر spi دریافت میکند به عنوان نتیجه برمیگرداند . یعنی به طور هم زمان یک بایت را ارسال و یک بایت را دریافت میکند.
تابع_spi_fast_transmit_string_array_nbyte( uint8_t *data, uint8_t cmd_nbyte);
این برای ارسال آرایه یا رشته استفاده میشود . data همان آرایه یا رشته است . و متغیر دوم یک کامند است که تعیین میکند تابع در مود ارسال رشته یا آرایه قرار بگیرد .ودر عین حال طول آرایه ارسالی را مشخص میکند . اگر بیت هشتم cmd_nbyte عدد 0 باشد تابع در وضعیت ارسال آرایه قرار میگیرد و هفت بیت بعدی تعداد عناصر آرایه است که حداکثر میتواند 127 باشد .اما اگر اگر بیت هشتم cmd_nbyte عدد 1 باشد ، تابع در وضعیت ارسال رشته قرار میگیرد و بقیه بیتها اندازه رشته را مشخص میکند که حداکثر میتواند 127 باشد . تفاوتی که حالت رشته با حالت آرایه دارد در این است که هرگاه تابع به کاراکتر '0\' برسد ارسال متوقف میشود حتی اگر تعداد کاراکترهای ارسال شده کمتر از مقدار مشخص شده درcmd_nbyte باشد . و اگر طول رشته بیشتر از مقداری باشد که در cmd_nbyte مشخص شده است . تمام رشته به طور کامل ارسال نخواهد شد. بنابر این برای حالت رشته بهتر است طول را حداکثر یعنی 127 در نظر بگیرید . چون تنظیمات cmd_nbyte در عمل کمی مشکل است . پیکر بندی های لازم برای ارسال رشته یا آرایه را به صورت ماکروهای زیر در spi.h تعریف کردم .
spi_fast_transmit_array_nbyte( data,nbyte)
spi_fast_transmit_string( buff)
از اسم این ماکروها کاملا مشخص است که چه کاری را انجام میدهند و لی به خاطر داشته باشید که در ماکروی دوم طول رشته نباید از 127 بیشتر باشد .
ضمنا این تابع مقدار برگشتی دارد و مقدار برگشتی تابع ، تعداد کاراکترهایی است که ارسال شده اند.
تابع
_spi_fast_recive_string_array_nbyte( uint8_t *data, uint8_t cmd_nbyte);
این تابع برای دریافت رشته یا آرایه استفاده میشود . وقوانین مربوط به تنظیم کامند ، همانند تابع قبل است . این تابع مقدار برگشتی دارد و مقدار برگشتی تابع ، تعداد کاراکترهایی است که دریافت شده اند. برای راحتی کار تنظیمات لازم برای دریافت رشته یا آرایه به صورت ماکرو در فایل spi.h قرار دادم.
ماکروها به شرح زیر هستند
spi_fast_recive_array_nbyte( data,nbyte) ;
spi_fast_recive_string( buff);
اسم ماکروها بیانگر عملکرد اونها هست . فقط در مورد ماکروی مربوط به رشته توجه داشته باشید که طول رشته ای که باید دریافت کنه نباید بیشتر از 127 باشه چون بیشتر ازین رو دیگه دریافت نمیکنه .
و در مورد ماکرو مربوط به آرایه لطفا دقت کنید طول آرایه data از طول رشته ای که باید دریافت کنه بیشتر باشه .
کلیه توابع بالا هم در نسخه کم حجم و هم در نسخه کامل وجود دارد البته عملکردش بسته به حجم نسخه کمی متفاوت است ، در نسخه کم حجم سرعت بالاتری داردولی نسبت به تنظیمات حساس است به طور مثال اگر وقفه انتقال را فعال کرده باشید و در حین اجرای برنامه وقفه را خاموش کنید این تابع دیگر کار نخواهد کرد . و در نسخه کامل سرعت کمتر است ولی نسبت به تنظیم وقفه انعطاف دارد به طوری که حتی در حین اجرا ی برنامه وضعیت وقف را تغییر دهید توابع به خوبی کار خواند کرد.
توضیحات مربوط به توابع ارسال دریافت به پایان رسید حال شما با توجه به فایل مثالی که همراه کتابخانه قرار دادم میتونید تنظیمات اولیه و ارسال و دریافت رو انجام بدید. در قسمت های بعدی در مورد توابع مربوط به تنظیمات spi که البته فقط در نسخه کامل وجود دارد توضیح خواهم داد .
و در آخر لطفا بنده رو از نظرات خودتون در مورد این مطلب به صورت کامنت بهره مند سازید .
با تشکر .
پست قبلی : (قسمت سوم :فایلهای کتابخانه )
پست بعدی :( هنوز تکمیل نشده )
حق مالکیت معنوی : محفوظ است . انتشار با ذکر منبع بلا مانع است .
راهنمای استفاده از کتابخانه lcd nokia1661 - قسمت1
رشته ,تابع ,دریافت ,آرایه ,nbyte ,spi ,مربوط به ,است که ,در نسخه ,spi fast ,این تابع ,تابع مقدار برگشتی ,fast recive string ,*data uint8 t ,array nbyte uint8
درباره این سایت