aKaReZa 125 - RCS, AVR - PART L
توی این قسمت از پروژه RCS وارد فاز جدیدی از توسعه نرمافزار میشیم. از نحوه ساخت Branch جدید برای توسعه ایمن کد رو بررسی میکنیم. بعد، ساختار State Machine رو برای کنترل وضعیت سیستم پیادهسازی میکنیم و کتابخانههای مورد نیاز پروژه رو اضافه میکنیم. در ادامه، Scheduler پروژه رو تنظیم میکنیم، تسکهای مربوط به خروجیها (Outputs Task) و نمایشگر (Display Task) رو توسعه میدیم و حالتهای مختلف سیستم (System States) رو هم اضافه میکنیم. در انتها، مکانیزم One-Time Operations و حالتهای مختلف GSM مورد بررسی قرار میگیره و در نهایت تغییرات پروژه روی گیتهاب Push میشن.
مطالبی که توی این ویدئو یاد میگیریم:
نحوه ایجاد و مدیریت شاخه (Branch) در Git
پیادهسازی State Machine برای کنترل رفتار سیستم
اضافه کردن کتابخانههای موردنیاز به پروژه
طراحی و اجرای Scheduler برای اجرای Taskها
توسعه تسکهای خروجی و بهروزرسانی نمایشگر
بررسی State های مختلف ماژول GSM
ارسال تغییرات branch به گیتهاب (git push)
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DQs-ZJKEieX/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/RPZP1AIJVvo
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 126 - STM32, HAL, GPIO
توی این قسمت از آموزش STM32، میریم سراغ یکی از پایهایترین و مهمترین مباحث یعنی پریفرال GPIO با استفاده از HAL Library.گامبهگام نحوهی پیکربندی پایهها در حالتهای مختلف مثل Input، Output، Alternate Function و Analog رو بررسی میکنیم و بعد در محیط CubeMX یک پروژهی جدید ایجاد میکنیم تا پیکربندی پایهها رو بهصورت عملی ببینیم. در ادامه با توابع کاربردی مثل HAL_GPIO_WritePin()، HAL_GPIO_TogglePin() و HAL_GPIO_ReadPin() آشنا میشیم و عملکردشون رو تست میکنیم. همچنین دربارهی زمانبندی با تابع HAL_Delay()، مفهوم GPIO Speed و نکات مهم اون هم صحبت میکنیم.
مطالبی که توی این ویدئو یاد میگیریم:
آشنایی با مفهوم GPIO در STM32
پیکربندی پایهها در حالت Input، Output، Alternate Function و Analog
ایجاد پروژه جدید در CubeMX
بررسی تابع MX_GPIO_Init() و نحوهی مقداردهی اولیه پایهها
کنترل پایهها با توابع HAL_GPIO_WritePin و HAL_GPIO_TogglePin
خواندن وضعیت پایهها با HAL_GPIO_ReadPin
استفاده از HAL_Delay برای ایجاد تأخیرهای زمانی
بررسی و رفع مشکل تابع HAL_Delay
مفهوم GPIO Speed و تاثیر آن
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DQ-8Qc5Eqs7/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/rTIU0vWZKQs
صفحه گیتهاب من:
https://github.com/aKaReZa75
aKaReZa 127 - AVR, Alphanumeric LCD - PART B
توی این قسمت از آموزش میکروکنترلرهای AVR، وارد بخش دوم راهاندازی LCD کاراکتری (Alphanumeric LCD) میشیم.
در این قسمت یک پروژهی جدید میسازیم و بهصورت کامل توابع اصلی کتابخونه مثل alcd_init()، alcd_write()، alcd_putc() و alcd_puts() رو بررسی و تست میکنیم تا عملکردشون رو بهتر درک کنیم. همچنین حالت ۸ بیتی (8-bit Mode) رو توضیح میدیم و نحوهی آدرسدهی مکان نمایش کاراکترها روی LCD با تابع alcd_gotoxy() رو یاد میگیریم.
مطالبی که توی این ویدئو یاد میگیریم:
مرور ساختار کلی LCD کاراکتری
ایجاد پروژه جدید برای راه اندازی LCD
نحوهی پیکربندی اولیه LCD با تابع alcd_init()
نحوهی ارسال دیتا و دستور با تابع alcd_write()
بررسی مود ۸ بیتی (8-bit mode)
نمایش تککاراکتر با تابع alcd_putc()
نمایش رشته با تابع alcd_puts()
تعیین موقعیت نمایش کاراکتر با تابع alcd_gotoxy()
لینک پیش نمایش ویدئو در اینستاگرام:
https://www.instagram.com/p/DRRAHHekqFW/
لینک کامل ویدئو در یوتیوب:
https://youtu.be/dNaj5lWs40A
صفحه گیتهاب من:
https://github.com/aKaReZa75