Code::Blocks
The open source, cross platform, free C, C++ and Fortran IDE.
صفحه دانلود Source Code :
http://www.codeblocks.org/downloads/25
@armeducation
The open source, cross platform, free C, C++ and Fortran IDE.
صفحه دانلود Source Code :
http://www.codeblocks.org/downloads/25
@armeducation
armeducation
مجموعه فیلم های آموزش کار با نرم افزار STM32CubeMX و توابع HAL 1-1- نحوه ایجاد پروژه در نرم افزار STM32CubeMX برای keil و پروگرام کردن بر روی برد https://news.1rj.ru/str/armeducation/270 2-1- نحوه تنظیمات در نرم افزار STM32CubeMX برای خروجی کردن پایه ها https://t…
HAL_example.exe
96.9 MB
سمپل های فیلم های آموزش کار با نرم افزار STM32CubeMX و توابع HAL
https://news.1rj.ru/str/armeducation/359
پسورد :
@armeducation
https://news.1rj.ru/str/armeducation/359
پسورد :
@armeducation
دلایل عدم ایجاد کتابخانه و نتایج :
ممکن است خیلی برای شما پیش آمده باشد که در پروژه ای وسیله ای را راه اندازی کرده اید و می خواهید در کار دیگری از آن استفاده کنید ولی بدلیل اینکه آن را مرتب نکرده اید و برای آن کتابخانه ایجاد نکرده اید و توضیحات مربوطه را هم ننوشته اید، به این سادگی ها در کار دیگری نمی توانید استفاده کنید و باید زمان بیشتری برای پورت کردن آن صرف کنید.
ایجاد کتابخانه و استفاده از آن از موارد پایه است:
https://news.1rj.ru/str/armeducation/92
که البته در این کار نحوه اعمال ورودی ها و خروجی گرفتن از توابع و ... از موارد دارای اهمیت هستند.
و اما دلایلی که باعت عدم انجام این کار می شود:
- حوصله ندارم! در اینجا ما هم حرفی برای گفتن نداریم. 😊
-وقت ندارم. در اینجا مهم از نظر شما انجام پروژه است و ایجاد دایکیومنت ها به طوری که بعدا در جای دیگری قابل استفاده باشد مهم نیست. این کار انجام می شود ولی در کار دیگری باز باید همان زمان را بگذاریم. در حالی که اگر امکانش بود با صرف وقت کمی می شد کاری کرد که قسمتی از کارمان برای کاربردهای بعد قابل استفاده باشد. عاملی دیگری که در اینجا مانع انجام این کار می شود این است که بگویم مگر این کار چقدر برایمان دارد که تازه این وقت اضافه هم برایش بگذاریم؟ البته اگر قرار باشد کارهای دیگری انجام دهیم و کار از خودمان باشد این زمان را برای خودمان داریم کار می کنیم .
- برای دیگران کار می کنیم که رعایت این چنین موارد جزیی و ... بستگی به نظر یا دقت نظر کارفرما دارد.
- بلد نیستم . اگر زمان برایتان اهمیت دارد بایستی زمانی را صرف یادگیری کنید. در کل این زمان و احیانا هزینه یک سرمایه گذاری برای کارتان محسوب می شود.
@armeducation
ممکن است خیلی برای شما پیش آمده باشد که در پروژه ای وسیله ای را راه اندازی کرده اید و می خواهید در کار دیگری از آن استفاده کنید ولی بدلیل اینکه آن را مرتب نکرده اید و برای آن کتابخانه ایجاد نکرده اید و توضیحات مربوطه را هم ننوشته اید، به این سادگی ها در کار دیگری نمی توانید استفاده کنید و باید زمان بیشتری برای پورت کردن آن صرف کنید.
ایجاد کتابخانه و استفاده از آن از موارد پایه است:
https://news.1rj.ru/str/armeducation/92
که البته در این کار نحوه اعمال ورودی ها و خروجی گرفتن از توابع و ... از موارد دارای اهمیت هستند.
و اما دلایلی که باعت عدم انجام این کار می شود:
- حوصله ندارم! در اینجا ما هم حرفی برای گفتن نداریم. 😊
-وقت ندارم. در اینجا مهم از نظر شما انجام پروژه است و ایجاد دایکیومنت ها به طوری که بعدا در جای دیگری قابل استفاده باشد مهم نیست. این کار انجام می شود ولی در کار دیگری باز باید همان زمان را بگذاریم. در حالی که اگر امکانش بود با صرف وقت کمی می شد کاری کرد که قسمتی از کارمان برای کاربردهای بعد قابل استفاده باشد. عاملی دیگری که در اینجا مانع انجام این کار می شود این است که بگویم مگر این کار چقدر برایمان دارد که تازه این وقت اضافه هم برایش بگذاریم؟ البته اگر قرار باشد کارهای دیگری انجام دهیم و کار از خودمان باشد این زمان را برای خودمان داریم کار می کنیم .
- برای دیگران کار می کنیم که رعایت این چنین موارد جزیی و ... بستگی به نظر یا دقت نظر کارفرما دارد.
- بلد نیستم . اگر زمان برایتان اهمیت دارد بایستی زمانی را صرف یادگیری کنید. در کل این زمان و احیانا هزینه یک سرمایه گذاری برای کارتان محسوب می شود.
@armeducation
Telegram
armeducation
یکی از موارد پایه در ایجاد پروژه، نحوه ایجاد کتابخانه جدید و اضافه کردن آن به پروژه می باشد.
روش کار به این صورت است که تمام توابع در یک کتابخانه با فرمت c. مثلا name.c قرار داده و به پروژه اضافه می شود. تیتر تمام توابع که قصد داریم در جای دیگری استفاده کنیم…
روش کار به این صورت است که تمام توابع در یک کتابخانه با فرمت c. مثلا name.c قرار داده و به پروژه اضافه می شود. تیتر تمام توابع که قصد داریم در جای دیگری استفاده کنیم…
مهندس متبحر...
مهندسی بود که در تعمیر دستگاه های مکانیکی استعداد و تبحر داشت. او پس از۳۰ سال خدمت صادقانه با یاد و خاطری خوش باز نشسته شد. دو سال بعد، از طرف شرکت درباره رفع اشکال به ظاهر لاینحل یکی از دستگاه های چندین میلیون دلاری با اوتماس گرفتند. آنها هر کاری که از دستشان برمی آمد انجام داده بودند و هیچ کسی نتوانسته بود اشکال را رفع کند بنابراین، نومیدانه به او متوسل شده بودند که در رفع بسیاری از این مشکلات موفق بوده است.
مهندس، این امر را به رغبت می پذیرد. او یک روز تمام به وارسی دستگاه می پردازد و در پایان کار، با یک تکه گچ علامت ضربدر روی یک قطعه مخصوص دستگاه می کشد و با سربلندی می گوید : اشکال اینجاست آن قطعه تعمیر می شود و دستگاه بار دیگر به کار می افتد. مهندس دستمزد خود را ۵۰۰۰۰ دلار معرفی می کند.
حسابداری تقاضای ارائه گزارش و صورتحساب مواد مصرفی می کند و او بطور مختصر این گزارش را می دهد:
بابت یک قطعه گچ: ۱ دلار و بابت دانستن اینکه ضربدر را کجا بزنم : ۴۹۹۹۹ دلار
کپی از asriran
—————————————————-
آیا شما از این ضربدرها زده اید؟☺️
@armeducation
مهندسی بود که در تعمیر دستگاه های مکانیکی استعداد و تبحر داشت. او پس از۳۰ سال خدمت صادقانه با یاد و خاطری خوش باز نشسته شد. دو سال بعد، از طرف شرکت درباره رفع اشکال به ظاهر لاینحل یکی از دستگاه های چندین میلیون دلاری با اوتماس گرفتند. آنها هر کاری که از دستشان برمی آمد انجام داده بودند و هیچ کسی نتوانسته بود اشکال را رفع کند بنابراین، نومیدانه به او متوسل شده بودند که در رفع بسیاری از این مشکلات موفق بوده است.
مهندس، این امر را به رغبت می پذیرد. او یک روز تمام به وارسی دستگاه می پردازد و در پایان کار، با یک تکه گچ علامت ضربدر روی یک قطعه مخصوص دستگاه می کشد و با سربلندی می گوید : اشکال اینجاست آن قطعه تعمیر می شود و دستگاه بار دیگر به کار می افتد. مهندس دستمزد خود را ۵۰۰۰۰ دلار معرفی می کند.
حسابداری تقاضای ارائه گزارش و صورتحساب مواد مصرفی می کند و او بطور مختصر این گزارش را می دهد:
بابت یک قطعه گچ: ۱ دلار و بابت دانستن اینکه ضربدر را کجا بزنم : ۴۹۹۹۹ دلار
کپی از asriran
—————————————————-
آیا شما از این ضربدرها زده اید؟☺️
@armeducation
👍2
Forwarded from armeducation (Mahdi Zarkoob)
مجموعه فیلم های آموزش کار با نرم افزار STM32CubeMX و توابع HAL
1-1- نحوه ایجاد پروژه در نرم افزار STM32CubeMX برای keil و پروگرام کردن بر روی برد
https://news.1rj.ru/str/armeducation/270
2-1- نحوه تنظیمات در نرم افزار STM32CubeMX برای خروجی کردن پایه ها
https://news.1rj.ru/str/armeducation/282
2-2- نحوه تنظیمات در نرم افزار STM32CubeMX برای ورودی کردن پایه ها
https://news.1rj.ru/str/armeducation/284
3-1- نحوه تنظیمات در نرم افزار STM32CubeMX برای وقفه خارجی
https://news.1rj.ru/str/armeducation/287
4-1- نحوه تنظیمات در نرم افزار STM32CubeMX برای پورت سریال و ارسال یک رشته
https://news.1rj.ru/str/armeducation/290
4-2- دریافت یک کاراکتر و رشته از پورت سریال با استفاده از توابع HAL
https://news.1rj.ru/str/armeducation/295
4-3- دریافت یک کاراکتر از پورت سریال با استفاده از وقفه در توابع HAL
https://news.1rj.ru/str/armeducation/301
5-1- راه اندازی تایمر و وقفه آن با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/331
5-2- راه اندازی PWM با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/334
6-1- راه اندازی ADC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/341
6-2- استفاده از وقفه در راه اندازی ADC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/343
7-1- راه اندازی DAC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/346
8-1- راه اندازی RTC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/353
8-2- وقفه RTC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/358
@armeducation
1-1- نحوه ایجاد پروژه در نرم افزار STM32CubeMX برای keil و پروگرام کردن بر روی برد
https://news.1rj.ru/str/armeducation/270
2-1- نحوه تنظیمات در نرم افزار STM32CubeMX برای خروجی کردن پایه ها
https://news.1rj.ru/str/armeducation/282
2-2- نحوه تنظیمات در نرم افزار STM32CubeMX برای ورودی کردن پایه ها
https://news.1rj.ru/str/armeducation/284
3-1- نحوه تنظیمات در نرم افزار STM32CubeMX برای وقفه خارجی
https://news.1rj.ru/str/armeducation/287
4-1- نحوه تنظیمات در نرم افزار STM32CubeMX برای پورت سریال و ارسال یک رشته
https://news.1rj.ru/str/armeducation/290
4-2- دریافت یک کاراکتر و رشته از پورت سریال با استفاده از توابع HAL
https://news.1rj.ru/str/armeducation/295
4-3- دریافت یک کاراکتر از پورت سریال با استفاده از وقفه در توابع HAL
https://news.1rj.ru/str/armeducation/301
5-1- راه اندازی تایمر و وقفه آن با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/331
5-2- راه اندازی PWM با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/334
6-1- راه اندازی ADC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/341
6-2- استفاده از وقفه در راه اندازی ADC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/343
7-1- راه اندازی DAC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/346
8-1- راه اندازی RTC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/353
8-2- وقفه RTC با تنظیمات در STM32CubeMX
https://news.1rj.ru/str/armeducation/358
@armeducation
Telegram
armeducation
1-1- نحوه ایجاد پروژه در نرم افزار STM32CubeMX برای keil و پروگرام کردن بر روی میکروی stm32f103ve
لینک مشاهده در آپارات :
https://www.aparat.com/v/fExms
#آموزش_توابع_هال_F1
@armeducation
لینک مشاهده در آپارات :
https://www.aparat.com/v/fExms
#آموزش_توابع_هال_F1
@armeducation
Forwarded from armeducation (Mahdi Zarkoob)
مجموعه فیلم های آموزش کار با نرم افزار STM32CubeMX و توابع HAL :
http://www.arm-education.ir/?p=342
@armeducation
http://www.arm-education.ir/?p=342
@armeducation
عدم استفاده از printf :
برای ارسال متن و متغییر بر روی پورت سریال به سادگی می توان با اعمال تنظیماتی از تابع printf استفاده کرد:
https://news.1rj.ru/str/armeducation/135
در صورتی که نتوانید یا نخواهید از printf استفاده کنید چگونه می خواهید یک متغییر را بر روی پورت سریال قرار دهید؟
یکی از دلایل این نتوانستن این است که حجم کد بیشتری نیاز می شود و برنامه در یک میکرو کوچک جا نمی شود. همچنین برای نمایش عدد بر روی سون سگمنت از printf استفاده نمی شود.
اگر یک عدد 12345 را بخواهید به صورت کاراکتر به کارکتر نمایش دهید چطور این کار را انجام می دهید؟
ابتدا با تقسیمات متوالی یکی یکی اعداد را جدا کرده و با تابع Send_Char ارسال می کنید.
آیا نمی توان این اعداد را در یک آرایه قرار داد و از تابع Send_String استفاده کرد؟
-> همیشه بایستی یک راه حل برنامه نوسی به عنوان جایگزین برای مواقعی که برای استفاده از یک تابع یا الگوریتم یا کتابخانه دچار مشکل می شوید، داشته باشید.
https://news.1rj.ru/str/armeducation/128
@armeducation
برای ارسال متن و متغییر بر روی پورت سریال به سادگی می توان با اعمال تنظیماتی از تابع printf استفاده کرد:
https://news.1rj.ru/str/armeducation/135
در صورتی که نتوانید یا نخواهید از printf استفاده کنید چگونه می خواهید یک متغییر را بر روی پورت سریال قرار دهید؟
یکی از دلایل این نتوانستن این است که حجم کد بیشتری نیاز می شود و برنامه در یک میکرو کوچک جا نمی شود. همچنین برای نمایش عدد بر روی سون سگمنت از printf استفاده نمی شود.
اگر یک عدد 12345 را بخواهید به صورت کاراکتر به کارکتر نمایش دهید چطور این کار را انجام می دهید؟
ابتدا با تقسیمات متوالی یکی یکی اعداد را جدا کرده و با تابع Send_Char ارسال می کنید.
آیا نمی توان این اعداد را در یک آرایه قرار داد و از تابع Send_String استفاده کرد؟
-> همیشه بایستی یک راه حل برنامه نوسی به عنوان جایگزین برای مواقعی که برای استفاده از یک تابع یا الگوریتم یا کتابخانه دچار مشکل می شوید، داشته باشید.
https://news.1rj.ru/str/armeducation/128
@armeducation
Telegram
armeducation
یکی از کاربردهای پورت سریال برای مانیتورینگ برنامه است. بدین ترتیب با خروجی که در هر مرحله داده می شود همین طور اعداد بدست آمده می توان به روند اجرای برنامه نظارت داشت و در صورت بروز مشکل به رفع آن کمک می کند. بهتر است یک کتابخانه ساده داشته باشید که با اضافه…
تاچ خازنی با درایور GT911
5-Point Capacitive Touch Controller
با استفاده از مد I2C می توان موقعیت نقاط لمس شده را قرائت کرد.
@armeducation
5-Point Capacitive Touch Controller
با استفاده از مد I2C می توان موقعیت نقاط لمس شده را قرائت کرد.
@armeducation
بنا به نیاز می توان به منابع مختلفی که سایت st برای هر کدام از میکروکنترلرهای خود قرار داده مراجعه نمود. به عنوان نمونه برای stm32f107vC :
https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f1-series/stm32f105-107/stm32f105vc.html
Datasheet :
https://www.st.com/resource/en/datasheet/stm32f105vc.pdf
Reference Manuals:
https://www.st.com/resource/en/reference_manual/cd00171190.pdf
@armeducation
https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f1-series/stm32f105-107/stm32f105vc.html
Datasheet :
https://www.st.com/resource/en/datasheet/stm32f105vc.pdf
Reference Manuals:
https://www.st.com/resource/en/reference_manual/cd00171190.pdf
@armeducation
STMicroelectronics
STM32F105VC - STMicroelectronics
STM32F105VC - Mainstream Connectivity line, ARM Cortex-M3 MCU with 256 Kbytes Flash, 72 MHz CPU, CAN, USB 2.0 OTG, STM32F105VCT6, STM32F105VCT6TR, STM32F105VCT6V, STM32F105VCT6W, STM32F105VCT7, STMicroelectronics
موقع انتخاب یک پریفرال در STM32CubeMX پایه هایی از میکرو انتخاب می شود. در صورتی که بخواهید خودتان در کدتان تنظیمات GPIO آن پایه ها را اعمال کنید به دیتاشیت مراجعه و نسبت به remap نبودن یا بودن آن اطمینان حاصل کنید.
@armeducation
@armeducation
مشخص بودن کارکرد یک پایه در حالت پیش فرض و حالت remap شده در دیتاشیت میکروهای stm32
@armeducation
@armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
راه اندازی اولیه OLED 128*64 هفت پایه
ارسال دیتا از میکرو به این نمایشگر در مد SPI می باشد.
به نظر شما بین راه اندازی اولیه و تغییرات متناسب با پروژه جهت استفاده عملی چقدر فاصله وجود دارد؟
@armeducation
ارسال دیتا از میکرو به این نمایشگر در مد SPI می باشد.
به نظر شما بین راه اندازی اولیه و تغییرات متناسب با پروژه جهت استفاده عملی چقدر فاصله وجود دارد؟
@armeducation
فیلم جامع آموزش میکروکنترلر STM8
لینک فروشگاه :
https://kavirelectronic.ir/eshop/film-kavirvideo/1200823-stm8s-film.html
پاسخ به سوالات در گروه تلگرامی مختص فیلم و پنل پشتیبانی
@armeducation
لینک فروشگاه :
https://kavirelectronic.ir/eshop/film-kavirvideo/1200823-stm8s-film.html
پاسخ به سوالات در گروه تلگرامی مختص فیلم و پنل پشتیبانی
@armeducation
شماتیک اتصال رم خارجی به میکرو
میکرو بایستی قابلیت درایو کردن رم خارجی را داشته باشد.
بعد از پیکربندی پایه ها و واحد مربوطه دربرنامه، از یک آدرسی به بعد در برنامه قابل استفاده است.
@armeducation
میکرو بایستی قابلیت درایو کردن رم خارجی را داشته باشد.
بعد از پیکربندی پایه ها و واحد مربوطه دربرنامه، از یک آدرسی به بعد در برنامه قابل استفاده است.
@armeducation