کار با QuecOpen در ماژول EC200U

کار با QuecOpen در ماژول EC200U

کار با QuecOpen در ماژول EC200U
کار با QuecOpen در ماژول EC200U

قبلا در مطلب “معرفی قابلیت QuecOpen در ماژول های کویکتل” در مورد QuecOpen صحبت کردیم و اشاره کردیم که به کمک این قابلیت میتونیم کدنویسی خودمون رو روی ماژول انجام بدیم و نیازی به کنترلر خارجی نداشته باشیم ، حالا در این آموزش میخوایم نحوه اجرای یک Hello World رو روی EC200U بررسی کنیم ،پس با سیسوگ همراه باشید.

 

برای کدنویسی این ماژول ما IDE خاصی نداریم ، تنها چیزی که داریم یه SDK هست که البته غیر از اون هم به چیز دیگه ای نیاز نداریم ، شما میتونید برای ادیت کد ها از هر ادیتوری که میخواید استفاده کنید.

 

کامندهایی که برای بیلد کردن پروژه موجود هستند هم ، قابل اجرا توی ویندوز و لینوکس هستند ، ما برای نوشتن این مطلب از ویندوز استفاده میکنیم.

اول از همه باید پوشه sdk رو اکسترکت کنیم ، تصویر زیر ساختار این پوشه رو نشون میده

QuecOpen csdk

 

وارد پوشه sdk میشیم و برای اطمینان از درست بودن فایل هامون ، قبل از اینکه تغییری در اونها بدیم یکبار پروژمون رو build میکنیم. برای اینکار از PowerShell استفاده میکنیم و دستور زیر رو اجرا میکنیم

 

 

در صورت موفقیت آمیز بودن با این پیغام مواجه میشیم

 

خب حالا میریم سراغ نوشتن کد خودمون…

اول از همه باید بگم که sdk به صورت دیفالت شامل app های کوچیک هست که هر کدومشون یه کاری رو انجام میدند و هر کدوم هم توی یک thread جدا اجرا میشند ، نقطه شروع پردازنده هم برای پردازش کد ها فایل ql_init.c توی مسیر components\ql-application\init  هست که تابع appimg_enter در اون صدا زده میشه.

همونطور که توی خط 24 کد بالا میبینید ، یک thread جدید ایجاد شده که بدنه تابع اون به این صورت هست :

در اینجا هر زیر اپلیکیشنی که بخوایم استفاده کنیم میتونیم فعالش کنیم ، ما برای تست Hello World خودمون ، تابع ql_uart_app_init رو از کامنت در میاریم.

حالا به سراغ فایل uart_demo.c در مسیر components\ql-application\peripheral میریم . نقطه شروع ما توی این فایل همون تابع ql_uart_app_init هست که در اون یک thread ایجاد کرده که تابع ql_uart_demo_thread در اون اجرا میشه

در ادامه میتونید پارامتر های این تابع رو بررسی کنید

quecOpen rtos task create

 

 دستورات دیگر RTOS و نحوه پیاده سازی اونها در فایل Quectel_EC200U_Series_QuecOpen_RTOS_Development_Guide_V1.0 به طور کامل توضیح داده شده.

خب ، حالا به تابع ql_uart_demo_thread میریم

همونطور که مشخصه ، توی خط 15 تا 21 تنطیمات UART (مثل BAUD RATE , DATA BIT , …) رو مشخص کرده ، بعد از اون توی خط 34 و 39 کد بالا ، پین های مربوطه رو برای rx و tx مشخص کرده و عملکرد اونها رو برای uart مشخص کرده ؛ الان میخوایم ببینیم که این دو پین QL_UART2_TX_PIN و QL_UART2_RX_PIN از روی سخت افزار کدوم پایه ها میشند ، توی فایل components\ql-application\peripheral\inc\ql_pin_cfg.h این دو پایه به این صورت تعریف شدند:

و بعد از اون توی فایل components\ql-kernel\inc\quec_pin_index.h دوباره به این صورت تعریف شدند:

و در نهایت پایه های 137 و 138 میشند.

 

quecOpen pinmux uart ec200u

 

البته این پایه ها روی بردی که در فروشگاه سیسوگ موجود هست به راحتی قابل دسترسیه

quecOpen pinmux uart ec200u board

شاید به نظر کمی بیهوده بیاد که چندمرحله مختلف برای مشخص کردن یک پین تعریف شده ، اما اینطور نیست ! اگر شما هم از همین استاندارد برای کدنویسی پیروی کنید میتونید بدون تغییر ، کدی که برای مثلا ماژول ec200u نوشتید رو روی eg915u هم استفاده کنید.

 

به سراغ کد بر میگردیم و توی خط 8 ، متنی که میخوایم چاپ کنیم رو تغییر میدیم

زمان توقف رو هم از 20 ثانیه به 1 ثانیه کاهش میدیم (خط 65)

با دستور زیر کدمون رو کامپایل میکنیم

خروجی ما توی پوشه target\EC200UEU_AA_APPIMAGE قرار میگیره

quecOpen image

برای پروگرام نیازه که اول دستور AT+QDOWNLOAD رو برای ماژول ارسال کنیم ، بعد از اون ماژول ریست میشه و یه پورت جدید با نام Diag شناخته میشه

حالا از نرم افزار QFlash نسخه 5.7 استفاده کرده و فایل 8915DM_cat1_open_APPIMAGE_merge.pac رو انتخاب میکنیم و ماژول رو پروگرام میکنیم.

quecopen qflash

 

با وصل کردن یک مبدل سریال به پایه های AUX_RXD و AUX_TXD ماژول میتونیم خروجی رو بررسی کنیم.

 

quecOpen ec200u helloworld

برای کسب اطلاعات بیشتر و دریافت اطلاعات مورد نیاز و SDK برای کار با QuecOpen این فرم زیر را تکمیل کرده تا با شما تماس گرفته شود.

 

 

حمایت از Mahdi.h  

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

Mahdi.h  
Mahdi.h  

علاقه مند به سیستم های امبدد

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 1 سال پیش

درآمد زایی به سبک پینوکیو

ما مهندسین, بخصوص مهندسین برق و الکترونیک … علاقه خاصی به طراحی و ساختن داریم علاقه زیادی به تکنولوژی , بخصوص از...

Sisoog Os Sisoog Os
  • 3 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک