armeducation
3.6K subscribers
374 photos
328 videos
115 files
374 links
آموزش حرفه ای میکروکنترلرهای ARM

ادمین:
@mzarkoob
مهندس مهدی زرکوب
شروع مطالب :
https://t.iss.one/armeducation/1
اینستاگرام :
@armeducation
کانال ایتا:
https://eitaa.com/armeducation
همراه :
09359956361
Download Telegram
STM32Cube_FW_G0_V1.6.2.rar
166.6 MB
پک کیوب G0
@armeducation
8
armeducation
اجرای عملی پروتکل SNMP در میکروکنترلر STM32F107VC با Rl کیل @armeducation
پروتکل SNMP
به غیر از UDP و TCP و HTTP از SNMP هم برای تبادل دیتا در شبکه می توان استفاده کرد. با استفاده از توابع LWIP هم می توان از این پروتکل استفاده کرد. این پروتکل دارای سه ورژن می باشد. V1,2,3
در چه جاهایی لازم میشه از SNMP برای تبادل دیتا استفاده کرد؟
@armeducation
👍9
armeducation
تست وب سرور با توابع lwip با سمپل کیوب https://aparat.com/v/gkye521 در ادامه ویدئو قبلی نتیجه اجرای کد را با استفاده از دو سمپل در میکروی stm32f407 مشاهده می کنید. 👈 این چند دقیقه نتیجه چندین ساعتی هست که روی این موضوع وقت گذاشته شده که اول متوجه بشیم قضیه…
تنظیم SNMP در کیوب
همان طور که مشاهده می کنید در قسمت LWIP با زدن یک تیک، snmp در اترنت فعال شده و بعد ایجاد کد، کتابخانه های لازم در ادامه کتابخانه های قبلی مربوط به اترنت به پروژه اضافه می شود. البته برای کار با snmp این کافی نیست و باید یک کتابخانه دیگه را درست کنید و به پروژه اضافه کنید و..
ولی اینجا هدفم نبوده که این موضوع واضح را شرح بدم! می خوام بگم اگه در جایی لازم شد خودمون این کتابخانه ها را به پروژه اضافه کنیم و دیفاین های لازم را در هدرها قرار بدیم چقدر توانایی انجامش را دارید؟ واقعییت اینه که کیوب خیلی تنبلمون کرده و یاد گرفتیم یک پروژه آماده با همه تنظیمات لازم بهمون بده و ما در ادامه، سایر کدموهان را اونجا بنویسیم. خوب این باعث صرفه جویی زیادی در زمان میشه و کار هم انجام میشه. ولی اگه در جایی این کد ایجاد شده کار نکرد مسلما باید خودمون بسازیم تا کار جمع بشه. در پست های قبلی این موضوع را عملی نشون دادم که پروژه ساخته شده توسط کیوب در کیل کار نمی کرد. تا چند روز می خواهید دنبال این باشید که ایراد یا باگ کیوب کجاست!؟
در چه جاهایی این موضوع به پستتون خورده که لازم بشه خودتون بسازید؟
@armeducation
👍62
armeducation
اضافه کردن کتابخانه رجیستری به پروژه کیوب در اینجا از یک کتابخانه برای راه اندازی تاچ خازنی GT911 استفاده شده است. این کتابخانه رجیستری هست و در یک سمپل ساده درست کار می کنه. همین کتابخانه را به پروژه ای که در کیل توسط کیوب ساخته شده اضافه می کنیم و انتظار…
Media is too big
VIEW IN TELEGRAM
تست کتابخانه تاچ خازنی در پروژه ساخته شده توسط کیوب
https://aparat.com/v/kedo37o
قبلا در این مورد صحبت کردیم که آیا همیشه یک کتابخانه ای را به هر پروژه ای اد کنیم، اوکیه؟ موردی که برای من پیش اومده کتابخانه تاچ خازنی gt911 هست.
در این ویدئو این موضوع را عملی نشان دادم. ببینید و بگید دلیل چی می تونه باشه؟
آیا شما با مورد مشابه مواجه شدید؟
@armeducation
8👍4
armeducation
تست عملی کلاس HID در میکروکنترلر LPC1768 جهت آشنایی با عملکرد این کلاس کاری در USB Device . @armeducation
تبادل دیتا با USB
به برکت کیوب میشه خیلی سریع یک پروژه ایجاد کرد که برامون usb را در میکروهای stm32 پیکربندی کنه و بین برد و سیستم در چند کلاس کاری USB تبادل دیتا داشته باشیم.
ولی دیگه همه چیز هم آماده نیست و یک کارهایی هم خومون باید انجام بدیم.
ما قبلا چند کتابخانه به پروژه اضافه می کردیم که این کار را برامون انجام بده و نیازی به توابع هال نبود.
در پروژه وقتی سراغ این موضوع میرید که لازمتون بشه. البته میدونید که راه اندازی قدم اوله و در پروژه داستان زیاد پیش میاد...
شما در چه کارهایی لازم شده از usb device hid استفاده کنید؟
@armeducation
6
armeducation
سخت افزار USB Device . دو پایه D+ و D- مستقیما به پایه های میکرو متصل شده است. با یک مقاومت پایه D+ به صورت Pull up شده است. با این کار LED مربوطه روشن می شود. @armeducation
Media is too big
VIEW IN TELEGRAM
سخت افزار USB
لازمه استفاده از USB برای تبادل دیتا اینه که سخت افزارش رو برد باشه و مسلما سالم باشه!
https://aparat.com/v/paz6t2q
فکر نکنم این طور باشه که همین طوری دو تا سیم از پایه میکرو وصل کنی به سوکت usb و برنامه رو میکرو برات کار کنه 😄
اگه از usb استفاده کردی، چالشی با سخت افزارش داشتی؟ درطراحی برد برای این قسمت نکته خاصی را باید در نظر گرفت؟
@armeducation
👍9
Media is too big
VIEW IN TELEGRAM
اجرای عملی USB Device HID
در این قسمت چند تنظیم لازم برای استفاده از HID در کیوب انجام شده و با یک تابع یک ارسال را در عمل تست کردیم. همین طور شرح دادیم که این روش چه ایرادی داره.
https://www.aparat.com/v/gyji637
می خواستم در چند دقیقه این راه اندازی را شرح بدم ولی شد ۲۰ دقیقه ! عوضش فکر کنم حق مطلب ادا شد.
به نظر شما دلیل ایراد شرح داده شده چیه؟
@armeducation
👍95
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
اجرای عملی Custom USB Device HID
در قسمت قبل HID خالی بود و در اینجا تنظیمات را روی Custom قرار دادیم.
https://aparat.com/v/xitvhcw
در چند جای برنامه باید تغییرات بدیم تا کد بهمون کار بده.
@armeducation
👍11
باگ USB Device HID در کیوب میکروی stm32h7
اگر روال گفته شده برای تبادل دیتا در این کلاس کاری را برای میکروی stm32h7 انجام دهید در یک جا خواهید دید که برنامه تبادل دیتا هنگ می کند.
برای بار اول که write را بزنید از سیستم به میکرو دیتا ارسال می شود. ولی برای بار دوم این برنامه هنگ می کند! مسلما اگر در تست به یک بار ارسال اکتفا کنید متوجه این ایراد نخواهید شد.
این موضوعی هست که در کامنت های این آموزش در موردش صحبت شده :
https://community.st.com/t5/stm32-mcus/how-to-implement-a-usb-device-custom-hid-class-on-stm32-part2/ta-p/49437
در کامنت ها گفته شده که تابع USBD_CUSTOM_HID_DataOut را چه چیزی باید بذارید تا درست بشه. با دقت در این تابع و تابعی که کیوب در میکروی stm32f1 ایجاد کرده متوجه میشید که کیوب در این میکروی stm32h743 یک خط کد کمتر ایجاد کرده. و این چیزیه که اگه جایی نمی دیدیم محال بود به این راحتی ها پیداش کنیم.
معمولا از این دست خطاها در آموزش ها ازش صحبتی نمیشه و از میکرویی استفاده میشه که این موارد براش پیش نیاد.
نظر شما در مورد این باگ کیوب چیه؟
@armeducation
👍92
armeducation
st-stm32cubeide_1.10.1_12716_20220707_0928_x86_64.rar
خطای اجرای stm32cubeide
اگه هنوز مثل من ویندوزتان ۷ هست ! باید بدونید دنبال نصب ورژن بالاتر این نرم افزار رو سیستمتون نباشید. به همین ورژن پایین اکتفا کنید. چون بعد کلی دانلود و نصب، موقع اجرا یه ضد حال می خورید و با این پیغام مواجه می‌شوید.
به نظرتون راه حلی داره ؟
@armeducation
9
armeducation
اجرای عملی Custom USB Device HID در قسمت قبل HID خالی بود و در اینجا تنظیمات را روی Custom قرار دادیم. https://aparat.com/v/xitvhcw در چند جای برنامه باید تغییرات بدیم تا کد بهمون کار بده. @armeducation
دردسر کار با stm32cubeide
این محیط برای برنامه نویسی میکروهای arm خیلی خوبه ولی در مورد custom یک مشکلی هست.
در مواردی بعد باز کردن پروژه ساخته شده با این نرم افزار و کامپایل، یک خطا عجیب بهمون میده. تا وقتی که فایل کیوبش باز نشه و مجدد کدژنریت نشه(روی گزینه چرخ دنده باید بزنیم) این خطا هم هست.
خوب این چه مشکل و دردسری داره!!؟
👈 در قسمت قبلی برای USB برای حالت custom گفتیم که بعد ایجاد کد، باید در برنامه تغییراتی بدیم. خوب مسلما بعد کدژنریت، مقداری از این تغییرات میپره! بنابراین بایستی مجدد این تغییرات را اعمال کنیم. برای کسی هم بفرستیم نمیتونه کامپایل کنه و بعد کد ژنریت مجدد، قسمت usb کار نمی کنه.
به نظر شما این مشکل راه حلی داره ؟
@armeducation
6
armeducation
خطای GDB server تا حالا با این خطا در CubeIDE مواجه شدید؟ موقع پروگرام در محیط stm32cubeide در صورتی که میکرو اورجینال نباشد با این خطا مواجه می شوید و نمی توانید میکروتان را پروگرام کنید. در حالی که در نرم افزار Keil ممکن است صرفا یک پیغام Not a geniune ST…
گیر بودن پروگرام به آپدیت stlink
وقتی با stm32cubeide کار می کنید ممکنه با این پیغام مواجه بشید. در حالت عادی باید پروگرامر را آپدیت کنیم. ولی مسئله اینجاست که اگه اینترنت نبود باید چه کنیم؟
بله این اتفاق در این چند هفته که اینترنت قطع بود برام پیش اومد.
با کیل میشد پروگرام کرد ولی با cubeide نه.
یک راه اینه که از جیلینک استفاده کنیم. ولی اگه اونم دم دست نداشتیم چه؟
راه دیگه اینه که در IDE تنظیم کنیم بهمون هگز بده و اونو با cubeprogramer رو میکرو بریزیم. امیدوارم در این مسیر براتون مشکلی پیش نیاد که فکر نکنم دیگه راهی باشه و باید کاسه چه کنم دستتون بگیرید.
@armeducation
👍102
عدم اتصال پروگرامر با cubeprogramer
در اینجا دو پروگرامر stlink داریم. هر دو پروگرامر از کیل و IDE میشه پروگرام کرد ولی همان طور که در تصویر میبینید پروگرامر بالایی در STM32CubeProgrammer اصلا سریال را شناسایی نمی کنه، چه برسه کانکت بشه!
در قسمت قبلی گفتم گاهی لازم میشه بخواهید فایل هگز را روی میکرو بریزید. اون موقع هست که تازه متوجه میشید چه پروگرامری خریدید!!
اول گفتم در یک فیلم این موضوع را نشون بدم ولی دیدم با یک عکس هم میشه مطلب را منتقل کرد.
پروگرامر بالایی را از یک مغازه خریدند و پروگرامر پایینی برای خودمه که قبلا از کویر گرفتم.
@armeducation
👍7🙏1
armeducation
استفاده از پورت سریال و نرم افزار Flash loader برای پروگرام کردن میکروکنترلر stm32 : ابتدا کلید BOOT0 را نگه دارید و در همین حالت، کلید RESET را فشار دهید و بعد رها کنید و سپس نرم افزارFlash Loader را در کامپیوتر اجرا کنید. در اینجا بایستی پایه Tx و Rx…
بوت سریال
در نرم افزار stm32cubeprogramer میشه از گزینه سریال برای اتصال به میکرو استفاده کرد. ولی خوب یه شرط داره وگرنه مثل تصویر خطا میده. باید boot را زده باشید. البته boot0
حالا این به چه دردی می خوره؟
وقتی دیگه با پروگرامر نمیتونید میکرو را پروگرام کنید. این راهیه که میکروتون را نجات بدید. البته از نرم افزار flash loader هم میشه استفاده کرد ولی رو بعضی میکروها مکمنه کار نده.
این مقدمه مطلب بعدیه در مورد طراحی برد.
تا حالا این حالت براتون پیش اومده ؟
@armeducation
👍103
armeducation
ایجاد حالات مختلف بوت با استفاده از پایه های boot0 و boot1 بر روی برد میکروکنترلرهای stm32 @armeducation
Media is too big
VIEW IN TELEGRAM
الزامات سخت افزاری برای استفاده از بوت سریال
تا حالا شده این موارد را انجام نداده باشید و اسباب زحمت براتون شده باشه؟ می دونید کاسه چه کنم چیه و از کجا میشه تهیش کرد!؟
https://aparat.com/v/fdjp4dh
برای ریست به نظرتون چرا بعد تنظیمات لازم بعد پروگرام، برنامه ریست نمیشه؟
@armeducation
👍8🙏1
Media is too big
VIEW IN TELEGRAM
بررسی ریست شدن میکرو بعد پروگرام
به نظر شما در پروژه دوم، بعد از پروگرام، چرا میکرو ریست نشد و برنامه اجرا نشد!؟
https://aparat.com/v/kto75j7
👈 اگه برنامه بعد پروگرام، ریست نشه، تازه نبود 🔑 ریست خودشو نشون میده!
کانال تلگرام و پیج اینستاگرام :
@armeducation
👍61
Forwarded from armeducation (Mahdi Zarkoob)
فیلم آموزش مقدماتی و متوسط میکروکنترلر STM32F429 و STM32F767 و STM32H7
https://kavirelectronic.ir/eshop/film/1201311-film-stm32f429-stm32h743-stm32f767-stm32h750.html
پاسخگویی به سوالات فیلم در گروه‌های پشتیبانی.
جهت خرید :
🆔 @mzarkoob
📞 09359956361
- کامل ترین مجموعه آموزشی
@armeducation