نحوه فعال سازی سریال و برنامه و کتابخانه برای آن

من فرض رو بر این میگیرم که کسانی میخوان اینکار رو بکنن با ساختن پروژه در ایکلیپس یا netbeans و یا … آشنا هستن و اینکه در پست های قبل نحوه فعال سازی در اسکریپت رو خوندن.


برای فعال کردن UART ابتدا باید UART ها یی که مورد نظر هست را ابتدا در اسکریپت  فعال کنیم. برای این کار uart_used=0 را به uart_used=1 در UART مورد نظرتغییر میدیم.مثلا برای فعال کردن UART4 به شکل زیر عمل می کنیم:

[uart_para4]
uart_used = 1
uart_port = 4
uart_type = 2
uart_tx = port:PG10<4><1><default><default>
uart_rx = port:PG11<4><1><default><default> 

حالا نوبت میرسه به برنامه نویسی ولی قبل از اون ابتدا باید نکته ای رو بدونیم و اون اینه که در لینوکس درایور سخت افزار ها بصورت فایل هایی در پوشه dev قرار دارند مثلا وقتی که شما یک مبدل usb to serial به دستگاه متصل میکنید فایلی به نام ttyusb0 در این پوشه ایجاد می شود یا مثلا فایل های مربوط به درایورهای سریال با نام های ttys0,ttys1,..شناخته می شوند.نکته ای که در مورد پورت های سریال اهمیت داره اینه که شماره فایل های سریال هیچ ربطی به شماره ی UARTها ندارند مثلا ttys4 ممکن است به UART4 مربوط نباشد بلکه مربوط به درایور UART3 مربوط باشد حالا سوال اینکه چگونه ارتباط بین اینها را کشف کنیم؟!راه حل اول: اینکه بدانیم چند UART را در کرنل فعال کردیم به طور مثال اگر UART0 و UART2 و UART4 را فعال کرده باشیم ttys0 مربوط میشود به UART0 و ttys1 مربوط میشود به UART2 و ttys2 هم مربوط میشود به UART4.راه حال دوم:استفاده از دستور زیر در ترمینال:

dmesg

با این دستور میتونیم درایور هایی که در کرنل فعال شدن رو ببینیم و همچنین ببینیم که مثلا کدام UART مربوط به کدام ttys است.حال شما برای دسترسی به سخت افزارها در برنامه خودتون باید به این فایل ها دسترسی پیدا کنید.برای اینکار باید فایل درایوره مورد نظر را open کنید و تنظیمات مورد نظر رو انجام بدید.من دو تا فایل رو ضمیمه میکنم که یکی مستقیما فایل ها رو باز کردم وبرنامه نوشتم و دومی یک کتابخونه واسه ی رت سریال هست که کار رو راحت کرده.کار با GPIO هم به همین شکل هست که برای سریال هست.امیدورم که مفید واقع شده باشد.

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

main

rs232 lib

Bookmark the پیوند یکتا.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد.