آموزش آردوینو مدارهای الکترونیک

آموزش ارتباط سریال Arduino بخش پایانی

آموزش ارتباط سریال Arduino
نوشته شده توسط علیرضا قربانی

به نام خدا .  در این قسمت از آموزش قصد تکمیل کردن مبحث ارتباط سریال Arduino را داریم . در این پست به شرح توابع setTimeout ، write  و serialEvent می‌پردازیم . در ادامه  با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

 

 

Serial.setTimeout()

 

این تابع حداکثر زمان   برای منتظر ماندن دریافت اطلاعات از پورت سریال را مشخص می‌کند. توابع readBytes , readbytesUntil , readString , ReadStringUntil , parseFloat , parseInt  به طور پیش فرض از ۱۰۰۰ میلی ثانیه ( ۱ ثانیه ) برای منتظر ماندن دریافت اطلاعات از پورت سریال استفاده می‌کنند .ساختار کلی تابع به صورت زیر می‌باشد :

به جای آرگومان time عددی بر حسب میلی‌ثانیه وارد می‌کنیم.

 

 

write()

 

به وسیله این تابع می‌توان یک عدد بین ۰ تا ۲۵۵ ، یک رشته و یا یک آرایه (همراه با تعیین طولی از آرایه که قصد ارسال آن را دریم)ارسال کرد.تفاوت این تابع با تابع print

در جیست؟ تابع print  دیتا را به صورت کاراکتر ASCII ارسال می‌کند که باعث می‌شود دیتای ارسالی برای کاربر قابل خواندن و درگ باشد . ولی در مقایل تابع write اطلاعات را به صورت بایتو ناخوانا ارسال می‌کند. علت استفاده از تابع writeدر این است که بعضی از دستگاه‌ها دیتا را با فرمت بایت می‌خوانند.

 

ساختار کلی تابع write به شکل زیر می‌باشد:

val : مقدار عددی یک بایتی که قصد ارسال آن را داریم.

str : یک رشته که قصد ارسال آن را داریم .

buf : آرایه‌ای از جنس []byte یا []char  که قصد ارسال آن را داریم.     len  : تعداد خانه‌های آرایه که قصد ارسال آن را داریم .

 

 

تابع write  تعداد بایت‌های ارسالی را برمی‌گرداند .

 

مثال :

 

 

serialEvent()

این تابع هنگامی که دیتایی به پورت سریال ارسال می‌شود فراخوانی می‌شود. تابع  serialEvent در آردوینو‌های Esplora, Leonardo, Micro پشتیبانی نمی‌شوند.

از این تابع بعد از loop استفاده می‌شود.ساختار کلی این تابع به صورت زیر می‌باشد:

 

همچنین در آردیونوهای مگا به صورت زیر استفاده می‌شود :

 

مثال :

عمل کرد این تابع این گونه است که برنامه در loop در حال اجرا می‌باشد ، به محض این‌که دیتایی از پورت سریال دریافت شود ، برنامه به قسمت تابع serialEvent پرش می‌کند و کدهای داخل این تابع اجرا می‌شود.سپس دوباره برنامهبه همان جایی که پرش کرده است باز می‌کردد.

 

پایان بخش ارتباط سریال

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

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

۹ دیدگاه

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