آردوینو arduino, آموزش, رفرنس

()shiftOut در آردوینو

()shiftOut در آردوینو

()shiftOut در آردوینو یک بایت داده را به صورت سریال ارسال می‌کند. ()shiftOut یا از ارزشمندترین بیت (سمت چپ‌ترین) و یا کم ارزش‌ترین (سمت راست‌ترین) بیت شروع می‌کند. هر بیت به نوبت در یک پین داده نوشته می‌شود. پس از آن یک پین ساعت پالس می‌شود (بالا (high) و سپس پایین (low)) تا مشخص کند که بیت در دسترس است.

نکته: اگر با دستگاهی سر و کار دارید که با لبه بالارونده ساعت کار می‌کند، باید اطمینان حاصل کنید که قبل از فراخوانی ()shiftOut  پین ساعت (کلاک) Low است (برای مثال با صدازدن (digitalWrite(clockPin, LOW).

 

این تنها یک پیاده‌سازی نرم‌افزاری است. به کتابخانه‌ی SPI مراجعه کنید که یک پیاده‌سازیِ سخت‌افزاری را فراهم می‌کند. پیاده‌سازی سخت‌افزاری سریع‌تر است اما فقط روی تعدادی پین خاص کار می‌کند.

 

سینکتس (نحو)

(shiftOut(dataPin, clockPin, bitOrder, value

 

پارامترها:

dataPin: پینی که روی آن هر بیت به‌صورت خروجی (output) قرار می‌گیرد. (int)

clockPin: پین برای تغییر دادن وضعیت، هنگامی که dataPin روی مقدار صحیح تنظیم شود. (int)

bitOrder: از کدام طرف بیت‌ها را شیفت اوت کنیم؛ MSBFIRST یا LSBFIRST. (اول ارزشمندترین بیت، یا اول کم ارزش‌ترین آن)

value: داده‌ای برای شیفت اوت (byte)

 

خروجی:

هیچ (ندارد)

 

مثال:

برای مدار همراه آموزش کنترل یک شیفت رجیستر 74HC595 را ببینید.

 

نکته‌ و هشدارها:

dataPin و clockPin باید قبلاً با فراخوانی ()pinMode، به‌عنوان خروجی پیکربندی شوند.

در حال حاضر ()shiftOut یک بایت (8 بیت) را در خروجی می‌دهد پس برای مقادیر بیشتر از 255، یک عمل دومرحله‌ای مورد‌نیاز است.

 

 

منبع

SPI

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *