armeducation – Telegram
armeducation
3.58K subscribers
367 photos
326 videos
115 files
370 links
آموزش حرفه ای میکروکنترلرهای ARM

ادمین:
@mzarkoob
مهندس مهدی زرکوب
شروع مطالب :
https://news.1rj.ru/str/armeducation/1
اینستاگرام :
@armeducation
کانال ایتا:
https://eitaa.com/armeducation
همراه :
09359956361
Download Telegram
یکی از مراحل انجام کار بعد از راه اندازی اولیه پریفرال ها و اجرای الگوریتم به کد، رفع ایرادات برنامه ( دیباگ) است. با رعایت کردن اصولی می توان جلوی بعضی ایرادات ساده را گرفت.
- در پست قبلی :
https://news.1rj.ru/str/armeducation/245
یکی از موارد ایجاد باگ، کپی نادرست ذکر شد.
- در پیکربندی یک پریفرال تنظیماتی هم که به صورت پیش فرض انجام شده، نیز قرار دهید. به عنوان نمونه پاور در سریال 0 در lpc1768 به صورت پیش فرض فعال است. ولی در سریال 2 فعال نیست. در صورتی که این تنظیم را در سریال 0 قرار ندهیم و بخواهیم در کاری سریال 0 را به 2 تغییر دهیم، فراموش می کنیم پاور را فعال نکرده ایم!
- تمام تنظیمات شامل کلاک و پاور، تنظیمات پایه، تنظیمات خود پریفرال تنظیمات زیرروال وقفه در یک جا قرار دهیم که در صورت نیاز به آن در برنامه دیگری با یک کپی بتوان همه تنظیمات را منتقل کرد و چیزی جا نمانده باشد.
- اینیشالیز به صورت درست انجام شده باشد و سایر را تنظیمات را تغییر ندهد :
https://news.1rj.ru/str/armeducation/177
به این ترتیب یک تنظیم انجام شده، سایر تنظیمات در آن رجیستر را بهم نمی زند.
- در نظر بگیرید بیت 0 رجیستری را به این صورت ست کرده باشید :
LPC_SC->EXTMODE = 1«0;
حال اگر همین قسمت را بخواهیم توسعه دهیم برای بیت 1 و .. :
LPC_SC->EXTMODE = 1«1;
به این ترتیب با ست شدن بیت 1، بیت 0 که قبلا ست شده بود ریست می شود! در حالی که اگر از اول به جای= از |= استفاده کرده بودیم در توسعه چنین خطایی ایجاد نمی شد.

👈 با دیباگ کردن از روی برد می توان به بسیاری از خطاها با تطبیق عمل انجام شده با چیزی که در ذهن بوده و پیاده سازی شده، پی برد. به این نکته توجه داشته باشید که گاهی دیباگ و رفع ایراد ممکن است بیش از زمان انجام اصل کار زمان ببرد!
@armeducation
مواردی که به عنوان نکات انجام کار و ... ذکر می شود(و گاها ساده به نظر میرسد!) نتیجه تجربیاتی هست که بارها و بارها برای بنده اتفاق افتاده و شاهد مواجه شدن دیگران با این موارد نیز بوده ام. به عنوان نمونه آخر از فن آموزان، در کاری لازم بود USART1 را به USART2 تبدیل کنند تا در برد قابل استفاده باشد. فقط یک جا انداختن تبدیل نکردن USART1 را به USART2 و در نتیجه کارنکردن برنامه، باعث معطلی و اتلاف زمان بی مورد شده بود.
@armeducation
Forwarded from armeducation (Mahdi Zarkoob)
از دوستان عزیز تقاضامندم در صورت تمایل، مطالب پست ها را تنها بصورت فوروارد در سایر گروها و کانال ها (و سایت ها) قرار دهند و از کپی کردن مطالب بدون ذکر مرجع خودداری کنند.
با تشکر
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
1-1- نحوه ایجاد پروژه در نرم افزار STM32CubeMX برای keil و پروگرام کردن بر روی میکروی stm32f103ve
لینک مشاهده در آپارات :
https://www.aparat.com/v/fExms
#آموزش_توابع_هال_F1
@armeducation
همان طور که در فیلم آموزشی ایجاد پروژه در کیل با نرم افزار STM32CubeMX ذکر شد از این نرم افزار به عنوان کمکی برای تنظیمات اولیه پریفرال ها و ایجاد پروژه می توان استفاده کرد. این نرم افزار به همراه پک های آن را می توانید از سایت st دانلود نمایید :
http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html
در قسمت Get Software خود نرم افزار STM32CubeMX قابل دانلود است که هر بار ورژن جدیدتر قرار داده می شود.
در قسمت Embedded Software نیز پک های هر سری از میکروهای stm32 قرار دارد که در که در فیلم آموزشی نیز ملاحظه شد چگونه از STM32CubeF1 استفاده شده است.
@armeducation
در این پست :
https://news.1rj.ru/str/armeducation/80
این سوال مطرح شد که :
- عملکرد این ماکرو به چه نحو است :
#define LED1_ON(x) ((x) ? (LPC_GPIO1->FIOSET = LED1) : (LPC_GPIO1->FIOCLR = LED1));
در ماکرو می توان به یک عبارت دیفاین شده، یک ورودی شرطی تعریف کرد. به عنوان مثال در عبارت ذکر شده، در صورتی که ورودی x برابر 1 باشد عبارت اول اجرا می شود (یعنی LPC_GPIO1->FIOSET = LED1) و اگر x برابر صفر باشد عبارت دوم اجرا می شود(یعنی LPC_GPIO1->FIOCLR = LED1) . عملگر (x) ? نیز یک if مختصر می باشد. به عنوان نمونه دیگر این ماکرو را در نظر بگیرید و عملکرد آن را بررسی کنید :
#define LCD_E(x) GPIOC->ODR = (GPIOC->ODR & ~PIN_E) | (x ? PIN_E : 0);
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
با استفاده از سمپل کیل و اعمال تغییرات در آن، می توان روی پورت و پایه های مطلوب، نمایشی روی LCD کاراکتری انجام داد.
در اینجا با استفاده از میکروکنترلر STM32F103VE این نمایش انجام شده است.
@armeducation
CLCD_stm32.rar
3.3 KB
کتابخانه کیل برای راه اندازی ال سی دی کاراکتری در میکروکنترلرهای stm32f10x
@armeducation
GLCD.rar
61.6 KB
کتابخانه راه اندازی ال سی دی گرافیکی (GLCD) با چیپ ks108
با تغییر دیفاین ها و اینیشیالیز اولیه، می توان برای میکروکنترلرهای مختلف از آن استفاده کرد.
برگرفته از فروم ایران میکرو
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
نمایش فونت های مختلف روی ال سی دی گرافیکی (GLCD)
در اینجا با استفاده از میکروکنترلر STM32F103RB این نمایش انجام شده است.
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
2-1- نحوه تنظیمات در نرم افزار STM32CubeMX برای خروجی کردن پایه ها و استفاده از توابع به منظور ست و ریست کردن آن در کامپایلر keil
میکروی stm32f103ve
لینک مشاهده در آپارات :
https://www.aparat.com/v/Hedix
#آموزش_توابع_هال_F1
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
2-2- نحوه تنظیمات در نرم افزار STM32CubeMX برای ورودی کردن پایه ها و استفاده از توابع HAL به منظور خواندن وضعیت پایه در کامپایلر keil
میکروی stm32f103ve
لینک مشاهده در آپارات :
https://aparat.com/v/aPQ0R
#آموزش_توابع_هال_F1
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
3-1- نحوه تنظیمات در نرم افزار STM32CubeMX برای وقفه خارجی و اجرای عملی در کامپایلر keil
میکروی stm32f103ve
لینک مشاهده در آپارات :
https://aparat.com/v/CWdqg
#آموزش_توابع_هال_F1
@armeducation
Forwarded from armeducation (Mahdi Zarkoob)
لینک ویدئو های آموزشی در آپارات :
http://www.aparat.com/mzarkoob

@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
نحوه تنظیمات در نرم افزار STM32CubeMX برای پورت سریال و ارسال یک رشته
کامپایلر keil
برد
stm32f103ve
#آموزش_توابع_هال_F1
@armeducation
فیلم آموزش STM32F10x مقدماتی متوسط (کاملا عملی)
فروشگاه کویر :
https://goo.gl/oMHSom

@armeducation
دانلود نرم افزارهای مرتبط با میکروکنترلرهای ARM :
http://zarkoob.persiangig.com/software/
پسورد :
www.arm-education.ir
@armeducation
روال ارسال یک بایت به ایتوپرام خارجی با ظرفیت 2K بیتی .
- استارت زدن
- ارسال آدرس سخت افزار
- تایید
- ارسال آدرس رایت شدن دیتا
- ارسال یک بایت دیتا
- استپ کردن
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
دریافت یک کاراکتر و رشته از پورت سریال با استفاده از توابع HAL
کامپایلر keil
برد stm32f103ve
#آموزش_توابع_هال_F1
@armeducation