در این آموزش توابع آردوینو، 4 تابع کلیدی پیکربندی پورت سریال آردوینو مورد بررسی قرار میگیرند: اولین تابع برای بررسی آماده بودن پورت سریال استفاده میشود. سپس تابع دوم برای آغاز ارتباط سریال با سرعت مشخص به کار میرود. تابع سوم تمامی ارتباطات سریال را خاتمه داده و پورت سریال را آزاد میکند. تابع چهارم مدت زمان انتظار برای دریافت دادههای سریال را تنظیم میکند. این توابع امکان تعامل مؤثر و کارآمد با دستگاههای جانبی را فراهم میکنند.
جهت شرکت در دوره، آموزش جامع توابع آردوینو – Fanctions کلیک کنید.
Serial
شرح
دستور (if(Serial بررسی میکنیم که پورت سریال مورد نظر، متصل است یا خیر و سپس دستورات را اجرا مینماییم. در پردازندههایی که از سخت افزار های درگاه USB بهره میبرند را با if(SerialUSB) در IDE نشان میدهند که آیا سریال USB CDC متصل است یا خیر که این امکان فقط برای USB CDC موجود است.
ساختار کد دستور
// برسی باز بودن پورت سریال
if(Serial) {
//انجام دستورات در صورت باز شدن پورت سریال
}
//انتظار برای باز شدن پورت سریال
while(!Serial);
مولفهها
- Serial: شی پورت سریال؛ لیست پورت های سریال موجود برای هر برد را در صفحه اصلی سریال ببینید.
مقدار بازگشتی
اگر پورت سریال مشخص شده در دسترس و باز شده باشد، مقدار true را برمیگرداند و اگر درگاه USB CTC در دسترس نباشد مقدار false را بر میگرداند.
begin
شرح
تابع اصلی پیکربندی پورت سریال در آردوینو برای شروع ارتباط سریال با سرعت بیت مشخص به کار میرود که این ارتباط اجازه میدهد میکروکنترلر دادهها را با دستگاههای دیگر به اشتراک بگذارد. این تابع میتواند علاوه بر سرعت نرخ تبادل، تنظیمات پیکربندی پارامترهای سریال مثل تعداد بیتهای دیتا، بیتهای توقف و پاریتی را مشخص کند و باید در تابع `()setup` قرار گیرد تا ارتباط سریال در ابتدای اجرای برنامه شروع شود.
ساختار کد دستور
Serial.begin(buadrate)
Serial.begin(buadrate, config)
مولفهها
- Serial: شی پورت سریال؛ لیست پورت های سریال موجود برای هر برد را در صفحه اصلی سریال ببینید.
- buadrate: سرعت نرخ تبادل دیتا که باید بر اساس استاندارد پورت سریال (UART) تنظیم شود.
- config: پارامتر های سریال شامل تعداد بیت دیتا، توقف و پاریتی را مشخص میکند. بر اساس لیست زیر تعریف میشود.
SERIAL_5N1
SERIAL_6N1
SERIAL_7N1
SERIAL_8N1 (the default)
SERIAL_5N2
SERIAL_6N2
SERIAL_7N2
SERIAL_8N2
SERIAL_5E1: even parity
SERIAL_6E1
SERIAL_7E1
SERIAL_8E1
SERIAL_5E2
SERIAL_6E2
SERIAL_7E2
SERIAL_8E2
SERIAL_5O1: odd parity
SERIAL_6O1
SERIAL_7O1
SERIAL_8O1
SERIAL_5O2
SERIAL_6O2
SERIAL_7O2
SERIAL_8O2
نمونه کد
//و بیت توقف فعال میکند None نرخ 9600 و دیتابیت 8 و پریتی Baudrate پورت سریال را با
Serial.begin(9600, SERIAL_8N1);
end
شرح
برای پایان دادن به ارتباط سریال استفاده میشود. اگر از پورت سریال استفاده میکردید و میخواهید آن را متوقف کنید یا قصد دارید از پینهای سریال برای کار دیگری استفاده کنید، این تابع مفید است.
ساختار کد دستور
Serial.end()
مولفهها
- Serial: شی پورت سریال؛ لیست پورت های سریال موجود برای هر برد را در صفحه اصلی سریال ببینید.
setTimeout
شرح
برای تنظیم حداکثر مدت زمانی که توابعی مثل: Serial.readBytes، Serial.readBytesUntil،Serial.parseInt منتظر دادههای ورودی میماند؛ این زمان به میلیثانیه تنظیم میشود، اگر دادهها در مدت زمان تعیین شده دریافت نشوند، این توابع متوقف میشوند و نتیجه فعلی را برمیگردانند.
ساختار کد دستور
Serial.setTimeout()
مولفهها
- Serial: شی پورت سریال؛ لیست پورت های سریال موجود برای هر برد را در صفحه اصلی سریال ببینید.
- time: مدت زمان وقفه بر حسب میلی ثانیه است.


