آموزش stm32 قسمت سوم(تولید پروژه STM32F103RET6 در STM32CubeMx برای keil)

بعد انجام تمام مراحل مربوط به تنظیمات میکرو که در قسمت دوم گفته شد باید پروژه را برای کامپایلر تولید کنیم که در این آموزش ما نرم افزار keil v5 را در نظر گرفتیم. برای تولید پروژه باید داخل نوار ابزار برنامهSTM32CubeMx بر روی این آیکون  کلیک تا صفحه ی زیر باز شود.

قسمت Porject Name: در این جا نام پروژه را وارد می کنیم.

قسمت Porject Location: مکان ذخیره شدن پروژه را تعیین می کند.

قسمت Toolchaine / IDE: در این قسمت شما کامپالیر را باید انتخاب کنید که در اینجا ما MDK-ARM V5 که همان Keil v5  است را انتخاب می کنیم.

در قسمت Linker Settings شما مقدار heap و stack پروژه تان را می توانید عوض کنید که فعلا با این مقادیر کاری نداریم و مقدار های آنها تغییر ندهید.

در قسمت Mcu and Firmware Package شما در کادر اول اسم و ورژن پلتفورم مشاهده می کنید در کادر بعد مسیر پلتفرم را نشان می دهد که می توانید با برداشتن تیک بالای کادر ، ورژن های قبلی را آدرس دهید و پروژه بر پایه اون ورژن ساخته می شود.بعد روی دکمه ی OK بزنید،پنجره زیر باز می شود :

در پنجر باز شده اگر روی دکمه ی Open Porject کلیک کنید پروژه ی شما با نرم افزار انتخابی باز می شود و گزینه ی بعدی مکان پروژه را برای شما باز می کند .حال اگر نرم افزار Keil را انتخاب کرده باشید صفحه ی زیر برای شما باز می شود.

در سمت چپ فایل های پروژه است.

فولدر Drivers/CMSIS : در این فولدر فایل C مربوط تنظیمات سیستمی میکرو و توابع CMSIS است.

فولدر Drivers/STM32F1xx_HAL_Driver : در این فولدر فایل های درایور Hal مربوط به هر بخش میکرو می باشد.

فولدر Application/MDK-ARM : داخل آن فایل استارت آپ میکرو است که با زبان اسمبلی نوشت شده است.

فولدر Application/User : در این فولدر سه فایل قرار دارد که main.c فایل اصلی برنامه است که کدها درون آن نوشته می شود.

stm32f1xx_hal_msp.c این فایل تنظیمات مربوط به فعال و غیر فعال کردن کلاک هر بخش و همچنینRemaps کردن های پین ها در این فایل قرار دارد و فایل stm32f1xx_it.c ، همه ی وقفه ها در این فایل قرار می گیرند.

در عکس سمت چپ main اصبی برنامه  را مشاهده می کنید.

تابع  HAL_Init : این تابع  همه ی بخش های میکرو را ریست و توابع سیتمی را مقدار دهی می کند.این تابع حتما باید فراخانی شود.

تابع SystemClock_Config : این تابع تنظیمات مربوط به کلاک میکرو را انجام می دهد که بعد تابعmain تعریف شده است.این تنظیمات همان تنظیم هایی است که شما در قسمت تنظیمات کلاک در نرم افزار STM32CubeMx انجام دادید.

حال می توانید برنامه ی خود را در wihle بنویسید.

نکته:

در فایل های تولید شده توسط نرم افزار STM32CubeMx مخصوصا در فولدر آخر ، کامنت هایی به صورت زیر می بینید.

/* USER CODE BEGIN 2 */

/* USER CODE END 2 */

کد هایی را که قرار است بنویسید بین این دو کامنت باید نوشته شود چون زمانی که دوباره پروژه را توسط  STM32CubeMx ویرایش کردید و سپس دوباره پروژه را تولید کردید کد های قبلی شما اگر در بین این کامنت ها نباشد پاک می شود.

mehdi sehati

در این سایت پروژه و آموزش های انواع ماژول ها و میکروکنترلر ها و نحوه ارتباط سخت افزار با نرم افزار (برنامه نویسی اندروید برای گوشی و برنامه نویسی سی شارپ برای کامپیوتر) و برنامه نویسی پایتون و رسبری پای و ماژول های وای فای قرار میگیرد همچنین دوستان برای توضیحات بیشتر و سفارش پروژه میتوانند به آی دی تلگرام بنده مراجعه کنند

مطالب مرتبط

Subscribe
Notify of
guest

4 نظرات
Inline Feedbacks
View all comments
موسوی
موسوی
5 years ago

با سلام و تشکر از مطالب خوب جنابعالی. دو سوال داشتم
۱- شماتیک حداثل مدار مورد نیاز راه اندازی STM32F103ZET6 را از کجا می توان بدست آورد؟
۲٫ نحوه متصل کردن پروگرمر USB مدل ST-LINK v2 به میکروهای STM32 چگونه است.
متشکرم

مصطفی
مصطفی
3 years ago

سلام.من وقتی جنریت کدرومیزنم ارورmdk arm v5 have a problemمیده.نمیدونم مشکل ازکجاست.میشه راهنمایی کنید

4
0
Would love your thoughts, please comment.x