آموزش برنامه نویسی میکروکنترلر STM32
کمکت میکنم برنامه نویسی میکروکنترلر های STM32 رو کامل، سریع و راحت یادبگیری و متخصص بشی.
السن | مرکز یادگیری سیستم های امبدد
Embedded systems Learning CENter
سطح بندی و معرفی اجمالی دوره های آموزشی وبسایت elcen.ir
خلاصه بگم، آموزش زبان امبدد سی هست + … . آموزش از صفر ، برای کسانی که میخوان برنامه نویسی میکروکنترلر رو شروع کنند یا احساس میکندد تسلط کافی رو ندارند. ممکنه که خودتون ندونید که به این دوره نیاز دارید، چون چیزهایی که نمیدونید رو ، نمیدونید که نمیدونید.
فصل اول دوره پیشرفته بوده که رایگان در یوتوب منتشر کردم، هدف این دوره اینه که بفهمی برنامه نویسی رجیستری ساده است و پریفرال های اولیه میکروکنترلر STM32F1 رو هم یادبگیرید. جلسه ی اولش خیلی مهم و جدید هست، مفاهیم برنامه نویسی رجیستری آموزشش به این شکل تا بحال در اینترنت وجود نداشت، این دوره رو به زبان انگلیسی هم منتشر کردم، میتونید کامنت های پای ویدئوی انگلیسی رو در یوتوب بخونید.
آموزش تمام پریفرال های میکروکنترلر STM32F103 ، رجیستری و HAL . تمرکز این دوره آموزش استفاده از امکانات پیشرفته ی STM32 هست. امکاناتی که در آردوئینو و AVR وجود نداره و اگر ازش استفاده کنیم میتونیم پروژه ها رو به روش های متفاوت و بهتر انجام بدیم.
دوره آموزشی شروع STM32 - رایگان
- 7 ساعت آموزش ویدئویی - 11 پروژه
- آموزش عملی روی STM32F103C8 ، برد بلوپیل
- نرم افزار STM32CubeIDE
- مشاهده در کانال یوتوب pointer-x
- آموزش مبانی برنامه نویسی رجیستری و CMSIS
- برنامه نویسی bare metal
- تنظیمات اولیه سیستم
- آموزش پریفرال های Systick, RCC, NVIC, EXTI, GPIO
دوره جامع آموزش زبان های برنامه نویسی میکروکنترلر ARM
با مشاهده این آموزش فندانسیون دانش برنامه نویسی میکروکنترلر شما بتن ریزی میشه. برای شروع این خوبه.
- 1م و 500 هزار تومان
- معرفی :
- 36 ساعت آموزش ویدئویی - اسپات پلیر
- STM32F103C8 ، برد بلوپیل و STM32CubeIDE
- بدون پیش نیاز
لینک مشاهده ویدئوهای نمونه در یوتوب:
- ویژگی ها :
- صفر تا صد زبان های برنامه نویسی میکروکنترلر
- مثال محور
- آموزش خوندن منابع اصلی
- سر فصل ها:
- آموزش کاربردی اسمبلی آرم
- آموزش کامل سی و امبدد سی
- زبان لینکرکامند، نوشتن فایل لینکراسکریپت
- اکستنشن های GCC و تنظیمات کامپایلر
- مبانی برنامه نویسی رجیستری STM32 و CMSIS
- آموزش کامل STM32CubeIDE و دیباگ
- الگوریتم ها و سرچ و سورت آرایه
- همه چیز در مورد حافظه ها
دوره آموزش پیشرفته STM32F1
در این دوره در جریان راه اندازی قطعات با حرفه ای ترین روش ها، استفاده از قابلیت های قدرتمند پریفرال های میکروکنترلر STM32 رو یادمیگیری. امکاناتی که در AVR و آردوئینو وجود نداره. همه ی کتابخونه ها برای پروژه ها رو خودمون از صفر مینویسیم.
- 1م و 500 هزار تومان
- معرفی :
- تا الان 40 ساعت آموزش - اسپات پلیر
- STM32F103C8 ، برد بلوپیل و STM32CubeIDE
- ویژگی ها :
- پروژه محور، بیش از 40 پروژه با STM32F103
- پیاده سازی های سخت افزاری و استفاده از امکانات قدرتمند STM32
- آموزش تمامی پریفرال های STM32F1
- سرفصل ها :
- استفاده از امکانات قدرتمند تمامی پریفرال های مکروکنترلر STM32F1 در قالب انجام پروژه، (جزئیاتش رو در صفحه ی معرفی دوره ببینید)
ضمانت هفت روزه بازگشت وجه
یک هفته وقت داری دوره آموزشی رو مرور کنی. اگه اون چیزی که فکر میکردی نبود. پولتو پس بگیر.
قصد خرید دوره های آموزشی رو دارید؟
1- دریافت اطلاعات پرداخت با پیامک به شماره 09101710738 .
- پیام در تلگرام @elcen_admin
- پیامک به 09101710738
2- پس از واریز وجه، لایسنس دوره (یک کد) در تلگرام برای شما ارسال میشه.
3- لایسنس رو در اسپات پلیر وارد کنید و دوره قابل مشاهده است.
4- در زمان مشاهده دوره برای رفع اشکال در تلگرام پیام بدید.
مشاهده دوره های آموزشی
1- از وبسایت اسپات پلیر نسخه پلیر مناسب سیستم عامل خود را دانلود و نصب کنید.
هر لایسنس در دو سیستم عامل از سیستم عامل های زیر به انتخاب شما قابل فعالسازی است:
- اندروید
- ویندوز
- MacOS
2- لایسنس دوره آموزشی رو در اسپات پلیر وارد کنید و دوره قابل مشاهده است.
- برای مشاهده دوره لازم نیست همیشه آنلاین باشید، خودش خودکار دانلود میشه و میتونید آفلاین مشاهده کنید.
- محدودیتی در زمان مشاهده دوره آموزشی برای شما وجود نداره
- هر لایسنس در دو سیستم عامل به انتخاب شما قابل مشاهده است.
1- خرید میکروکنترلر STM32
- برد بلوپیل bluepill، دارای میکروکنترلر STM32F103C8
- برد نوکلئو F446، دارای میکروکنترلر STM32F446 و پروگرمر ST-link
این مقاله رو هم بخون:
2- آموزش رایگان “شروع STM32” رو ببین
3- آموزش ببینید و تمرین کنید
- برای خودت پروژه تعریف کن و انجام بده.
- از منابع زیادی که در اینترنت وجود داره استفاده کن.
دوره ی آموزشی خوب چه کاری برای شما انجام میده؟
- سردرگمی رو از بین میبره و به یادگیری شما ساختار و جهت میده
- کل مطالب یک جا جمع شده و مطالبی که نمیدونید باید بدونید ، رو یادمیگیرید
- یادگیری آسونه و لذت بخشه چون مطلب برات جا میافته
- سریع یادمیگیری
- در زمان انجام پروژه اعتماد به نفس میگیری چون ناشناخته وجود نداره و همه ی نکات قبلا گفته شده
مهندس امبدد سیستم چه کار میکنه؟
طراحی سیستم های شامل میکروکنترلر ها یا میکروپروسسور ها برای انجام کار های از پیش تعریف شده . ساخت کامپیوتر برای کاربرد مشخص.
سخت افزار: طراحی مدارهای مربوط به میکروکنترلر، ترسیم شماتیک و طراحی برد
نرم افزار: برنامه نویسی میکروکنترلر
استخدام برنامه نویس STM32
اگر دوست دارید وارد کار برنامه نویسی میکروکنترلر بشید، هدفتون این باشه که از یه جایی به بعد کسب و کار خودتون رو راه بندازید مخصوصا اگر در ایران میمونید.
باید با کار کردن در شرکت های مختلف کارتون رو شروع کنید ولی همیشه کارمند بودن با توجه به شرایط ایران و سختی کار برنامه نویسی میکروکنترلر ، به نظر من نمیصرفه. البته اگر در خارج از ایران و در کشور های توسعه یافته هستید، کارمند بودن در زمینه ی برنامه نویسی امبدد سیستم شغل بسیار مناسب و پردرآمدی هست و زندگی خوبی خواهید داشت.
شروع کار امبدد سیستم – چند سال اول
تو 3 تا 5 سال اول دو تا کار رو باید همزمان خستگی ناپذیر انجام بدی:
1- خودت دائما برای یادگیری تلاش کن، آموزش ببین و خودت هم همزمان کد نویسی و تمرین کن و برای خودت پروژه انجام بده.
یک رزومه درست کن از توانایی هات و پروژه هایی که انجام دادی. دائما رزومت رو بزرگ تر کن.
2- برای کسب تجربه و یادگیری از اول باید بری سرکار. خیلی شرکت ها، کارگاه ها ، کارخونه ها یا حتی مغازه ها هست که میتونی بری اونجا مشغول شی. میتونی چند ماه یکبار هم شرکتتو عوض کنی که مطالب جدید یادبگیری.
تو این دوره همیشه چشمات رو باز کن و یادبگیر. هدفت از سر کار رفتن نباید پول باشه ولی اینجوری هم نباشه که ازت بیگاری بکشن، اگه کار رو بلدی، ارزشش رو بدون و هزینش رو بخواه.
چجوری پول در بیارم
باید با استفاده از دانش الکترونیک و امبدد سیستم، مشکلات یا نیاز های بقیه رو با ارائه ی کالا یا خدمات برطرف کنی تا بهت پول بدن.
چه کالا یا خدماتی ارائه بدم؟
برای اینکه ایده کالا یا خدمات به ذهنت برسه، باید چشمات چیزی رو ببینه یا گوشات بشنوه تا جرقه تو فکرت تولید بشه. دلیل اینکه از اول باید بری سرکار هم اینه که باید تو محیط هایی باشی که دائما اطلاعات جدید دریافت کنی. چند تا مثال:
- هر جایی میری ببین مشکلشون ، کمبودشون یا نیازشون چیه ؟ ببین چه کالا یا خدماتی هست که تو بتونی بهشون ارائه بدی و اونا بهت پول بدن؟ ببین چجوری میتونی مشکلاتشون رو حل کنی و راه حلی ارائه بدی که براشون ارزشمند باشه؟
- برو شرکت ها و کارخونه ها ازشون سوال کن به چه مشکلات فنی برخورد میکنن؟ ….
- ببین افراد دیگه چجوری تو این صنعت پول درمیارن ؟ آیا نقص و کمبود در روش کارشون وجود داره ؟ آیا تو میتونی بهتر انجامش بدی؟
- ایده های خوب وجود داره فقط باید بگردی پیداش کنی.
آموزش امبدد سیستم | اهداف ، مشکلات و راه حل ها
هدف از انتشار محتوای آموزشی به زبان انگلیسی، بالا بردن سطح آموزش برنامه نویسی سیستم های امبدد در اینترنت و بخصوص یوتوب هست. برای ارتقاع دانش باید مشکلات و کمبود هایی که امروزه در آموزش امبدد سیستم وجود داره رو پیدا کرد و با ارائه ی محتوای آموزشی جدید راه حل ارائه داد. چند تا از مشکلات :
- حجم زیادی از دانش برنامه نویسی میکروکنترلر وجود داره که هنوز کسی آموزشی در موردش ننوشته.
- خیلی آموزش ها میتونن بهتر باشند از جهت فهموندن مطلب
STM32 Pulse machine
TIM & DMA |
TIM & DMA |
- 4 ساعت | کانال یوتوب pointer-x
- پنج پروژه با STM32F103C8 ، برد بلوپیل
- نرم افزار STM32CubeIDE، برنامه نویسی رجیستری بدون cube
- نسخه ی فارسی این محتوای آموزشی در " دوره آموزش پیشرفته STM32F103 "
- سنسور نوری : پالس شمار سخت افزاری با قابلیت ETR.
- سنسور التراسونیک SR-04 با STM32 بدون دیلی : ارسال و دریافت پالس.
- lcd کاراکتری پارالل با STM32 بدون دیلی : بستر سخت افزاری ارتباط پارالل.
- سنسور دما و رطوبت DHT22 با STM32 بدون دیلی : بستر سخت افزاری پروتکل 1-wire.
- سنسور دمای DS18B20 با STM32 بدون دیلی : بستر سخت افزاری پروتکل 1-wire ماکزیم .
راه اندازی این قطعات با STM32 قبل از این در یوتوب وجود داشته (برای هر کدوم 10 تا ویدئو همش هم شبیه هم!!! ) ولی به روش آردوئینویی و بدون استفاده از امکانات STM32. برای اولین بار در اینترنت در این آموزش در قالب راه اندازی 5 تا از دردسترس ترین قطعات ، توانایی های تایمر و DMA میکروکنترلر رو آموزش میبینید.
روش آردوئینو : تایمر میکروکنترلر AVR قابلیت تایمر STM32 رو نداره و وقتی با AVR پروژه انجام بدید باید از CPU (پیاده سازی نرم افزاری) برای انجام کارها استفاده کنید. مثلا برای تولید پالس باید از GPIO و تابع دیلی استفاده کنید.
نکته : ایده های پروژه های این دوره آموزشی در forum ها و وبلاگ یا کد های مشابهش در github وجود داشته، من برای اولین بار آموزشش رو ارائه دادم.
STM32 for beginners
- 2 ساعت | کانال یوتوب pointer-x
- نرم افزار STM32CubeIDE، برنامه نویسی رجیستری بدون cube
- نسخه ی فارسی این آموزش " دوره آموزشی شروع STM32 "
- آموزش مبانی برنامه نویسی رجیستری و CMSIS در جریان انجام پروژه led چشمک زن.
- آموزش تنظیمات اولیه سیستم : کلاک و Systick و اینتراپت ها
خود من هم در شروع یادگیری برنامه نویسی میکروکنترلر، در درک این که چجوری به رجیسترها دسترسی پیدا میکنیم مشکل داشتم و دقیقا نمیفهمیدم CMSIS چیه. اگه میتونستم در زمان سفر کنم، به گذشته میرفتم و این آموزش رو به خودم نشون میدادم.
Patrick Egesa
@patrickegesa8264
one of the best tutorials, I have read dozens of books but I could not write structures to access MCU registers, you have just summarized in less than one hour, perfect.
Terrance Parker
@terrancenparker2015
Very good from a guy who works for ST. Wish they would do hands on labs like these
Salman Haider
@studentofedison421
TOO much informative and effective tutorial. I can’t explain enough how much beneficial the videos are. love form India,
سیستم های امبدد
کامپیوتر ها ماشین هایی هستن که میشه اونها رو برنامه ریزی کرد تا عملیات های ریاضی یا منطقی رو خودکار انجام بدن. سیستم های امبدد هم کامپیوتر هایی هستند که برای انجام یک کار مشخص طراحی میشن.
مقایسه کنید با لپ تاپ که هر روز برنامه های جدیدی رو روش اجرا میکنید و حتی برنامه های جدیدی با استفاده از این کامپیوتر مینویسید . این امبدد سیستم نیست.
میکروکنترلر
میکروکنترلر یک کامپیوتر کوچک هست روی یک چیپ که شامل :
- حافظه ها : فلش ( ذخیره برنامه ) ، رم ( ذخیره متغیر ها ) و رجیسترهای پریفرال ها
- وظیفه ی CPU اجرای کدی هست که در فلش نوشته میشه. کد شامل دستورات اسمبلی یا assembly instruction
- پریفرال های میکروکنترلر مدار های الکترونیکی هستنید که برای انجام کار های مشخصی طراحی شدن و عملکردشون توسط CPU با نوشتن اعداد در رجیسترهای پریفرال کنترل میشه.
- داده با استفاده از باسها بین CPU و حافظه ها جابجا میشه. برای جابجایی داده در خود CPU هم باس وجود داره. در میکروکنترلر های 32 بیتی باسهای CPU و میکروکنترلر 32 بیتی هستند، یعنی اعداد 32 بیتی رو با یک عملیات جابجا میکنن.
رجیسترهای پریفرال ها
رجیستر پریفرال یک فضای ذخیره سازی 8 ، 16 یا 32 بیت هست که آدرسش در در رفرنس منوال نوشته شده.
هر پریفرال تعدادی رجیستر داره و مقدار بیت های این رجیسترها عملکرد پریفرال رو مشخص میکنه. تو رفرنس منوال توضیحات همه ی بیت ها رو نوشته. تو برنامه باید با توجه به رفرنس منوال مقدار بیت های رجیسترها رو تغییر بدیم تا پریفرال طبق خواسته ی ما عمل کنه.
اجرای کد در میکروکنترلر
برنامه به اینستراکشن های اسمبلی تبدیل میشه که هر کدوم 16 یا 32 بیت هستند و در فلش نوشته میشن. بعد از ریست شدن میکروکنترلر ، CPU از اول فلش شروع میکنه و بعد از اجرای هر اینستراکشن(یا دستورالعل) به آدرس بعدی میره و دستورالعمل بعدی رو اجرا میکنه.
با اجرای اینستراکشن های Branch، آدرس اینستراکشن بعدی که CPU قراره از فلش بخونه تغییر داده میشه. مثلا CPU میتونه بره به یک آدرس مشخص در فلش و یک بلوک کد رو بخونه و اجرا کنه و دوباره برگرده به آدرس قبلی.
CPU با اجرای اینستراکشن های load و store میتونه محتوای حافظه ها رو بخونه یا تغییر بده، حافظه ها شامل فلش ، رم و رجیسترهای پریفرال ها هست.
میکروکنترلر آرم
میکروکنترلرهایی که CPU اونها توسط شرکت آرم طراحی شده.
مثلا شرکت ST در ساخت میکروکنترلر های خانواده STM32F1 و STM32F4 از طرح CPU های cortex-m3 و cortex-m4 که طراحی شرکت آرم هستند استفاده کرده.
چرا STM32 ؟
- خانواده بزرگ از میکروکنترلر ها که برای هر نیاز راه حل داره
- در پروژه های با فناوری بالا ( high tech ) استفاده میشه
- شرکت ST گارانتی داره که تولید میکروها رو متوقف نکنه
- منابع زیادی در اینترنت برای یادگیری STM32 وجود داره
- پریفرال های قدرتمندی داره مثلا تو بعضی پروژه ها فقط به خاطر تایمرش از این میکروکنترلر استفاده میکنن
- نرم افزارهای رایگان شرکت ST برای برنامه نویسی میکروکنترلر