آموزش 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 ویرایش کردید و سپس دوباره پروژه را تولید کردید کد های قبلی شما اگر در بین این کامنت ها نباشد پاک می شود.
با سلام و تشکر از مطالب خوب جنابعالی. دو سوال داشتم
۱- شماتیک حداثل مدار مورد نیاز راه اندازی STM32F103ZET6 را از کجا می توان بدست آورد؟
۲٫ نحوه متصل کردن پروگرمر USB مدل ST-LINK v2 به میکروهای STM32 چگونه است.
متشکرم
سلام ،خواهش میکنم
جواب سوال ۱ : به این لینک برید و اونجا دو نمونه شماتیک و PCB برای این میکرو قرار دادم استفاده کنید.
جواب سوال ۲ :برای آموزش نحوه پروگرام میکروی stm32 این لینک رو ببینید(آموزش lpc1768 , srm8 رو هم قرار دادم ته مطلب)
سلام.من وقتی جنریت کدرومیزنم ارورmdk arm v5 have a problemمیده.نمیدونم مشکل ازکجاست.میشه راهنمایی کنید
سلام، این مشکلات به خاطر ناهماهنگی ورژن کیل و کیوب mx هستش، از کیل ورژن پایین تر استفاده کنید، یا کلا از کیل استفاده نکنید و برید سمت cube ide