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

آموزش stm32

بعد انجام تمام مراحل مربوط به تنظیمات میکرو که در قسمت دوم گفته شد باید پروژه را برای کامپایلر تولید کنیم که در این آموزش ما نرم افزار 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 ویرایش کردید و سپس دوباره پروژه را تولید کردید کد های قبلی شما اگر در بین این کامنت ها نباشد پاک می شود.

2
دیدگاه بگذارید

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
faridmicrodroidprjsiteموسوی Recent comment authors
موسوی
Guest
موسوی

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