آموزش میکروکنترلر STM32F4 قسمت سوم : ایجاد پروژه

آموزش میکروکنترلر STM32F4 قسمت سوم : ایجاد پروژه

آموزش میکروکنترلر STM32F4 قسمت سوم : ایجاد پروژه
آموزش میکروکنترلر STM32F4 قسمت سوم : ایجاد پروژه

آموزش میکروکنترلر STM32F4 – قسمت سوم ;

در قسمت دوم آموزش میکروکنترلر STM32F4 به پروژه‌های انجام شده روی بورد زتا پرداختیم. در این قسمت به تابع‌های weak و روند ایجاد یک پروژه می‌پردازیم. با سیسوگ همراه باشید.

 

تابع‌های weak:

با رخ دادن هر وقفه‌ای، یک تابع فراخوانی می‌شود. گاهی این تابع‌ها به شکل پیش فرض در فایل‌های مربوط به وقفه، نوشته شده‌اند اما کاری انجام نمی‌دهند تا بعداً کاربر تابع مناسب را با توجه به نیاز خود بنویسد. تابع‌ها با پیشوند weak مشخص شده‌اند. برای مثال تابع weak وقفه ی خارجی پایه‌ها، در فایل STm32f4xx_hal_gpio.c به شکل زیر تعریف می‌شود.

 

کاربر می‌تواند تابع مورد نظر خود را در فایل main یا هر فایلی دیگری، بدون پیشوند weak، بازنویسی کند و هنگام کامپایل شدن، تابع وی مورد استفاده قرار می‌گیرد. برای مثال در زیر تابع کاربر دیده می‌شود که دو دیود نوری را به پایه ی وقفه بسته و آن را چشمک‌زن کرده است.

 

 

روند ایجاد یک پروژه:

برای آغاز یک پروژه جدید، به چند روش می‌توان عمل کرد. مسلماً زمان و کیفیت در انتخاب روش مهم هستند. برای رسیدن به کیفیت مورد نظر می‌توان در هنگام تکمیل پروژه، استانداردهای لازم را رعایت کرد. برای مثال در برنامه کامنت قرار داد و یا برنامه را ساختارمند نوشت.

برای انجام پروژه در زمان کوتاه از دو چیز می‌توان کمک گرفت یکی از برنامه‌های نمونه داده شده مانند برنامه‌های بوردهای مختلف که Kail ارائه داده است و دیگری استفاده از cubeMX است. نمونه برنامه‌های ارائه شده توسط Kail پیش از این بررسی شد. این پروژه‌ها همه قسمت‌های میکروکنترلر را پوشش می‌دهند. در زیر فهرست آن‌ها برای بورد STM324x9I_EVAL دیده می‌شود. هر کدام از این پوشه‌ها، گاهی شامل چند پروژه مختلف است. بهتر است به فایل‌های داده شده برای بوردهای ارزیابی که معمولاً با پسوند eval مشخص می‌شوند مراجعه کنید. این بوردها به دلیل داشتن اکثر وسایل جانبی و سخت افزارهای مختلف پروژه‌های کامل‌تری دارند.

 

پوشه پروژه‌های بورد STM324x9I_EVAL

 

 

با استفاده از CubeMX می‌توانید چند مورد را مشخص کنید. به کمک این نرم‌افزار می‌توانید بدون مراجعه به دیتاشیت میکروکنترلر، اطلاعات مفیدی از میکروکنترلرکنترلر را پیدا کنید. برای مثال کدام پایه‌ها به کدام وسیله جانبی میکروکنترلر متصل است. در شکل زیر دیده می‌شود که با کلیک روی پایه PA10 چه وسایل جانبی‌ای به این پایه وصل هستند.

 

CubeMX

 

 

می‌توانید با مقایسه مدار بورد خود با نرم افزار CubeMX مطمئن شوید که پروژه شما متناسب با بورد طراحی شده است. اکثر وسایل جانبی این میکروکنترلر را می توان در پایه‌های مختلف جابجا کرد. برای مثال همان‌طور که در شکل زیر دیده می‌شود با فعال کردن ارتباط سریال 1 در این میکروکنترلر پایه‌های ارسال و دریافت را می‌توان روی دو مکان مختلف تنظیم کرد. پایه استاندارد در سمت چپ شکل ملاحظه می‌شود. ولی می‌توان پایه‌های جایگزین را نیز با نگه داشتن کلید کنترل و کلیک روی پایه استاندارد دید. این پایه در بالای شکل با پیکان نارنجی مشخص شده است.

 

CubeMX

 

 

در قسمت چهارم آموزش میکروکنترلر STM32F4 به ساختار باس خواهیم پرداخت. با سیسوگ همراه باشید.

حمایت از ه. مرادمند

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

4 دیدگاه

  • جواد
    ۲۷ مرداد ۱۳۹۹

    سایتتون واقعاً عالیه مخصوصاً که برنامه بلدم بنویسم ولی این همه فایلای تو در تو با پسوندای c و h رو نمی دونستم چیه و ساختار کیل و HAL و هیچ جا هم نبود و این سایت کمکم کرد . تا این مجهولاتو ندونم نمی تونم مسلط بشم وگرنه برنامه بلدم بنویسم . 10 تومن به عنوان همیاری فرستادم که خیلی ناقابله .

    • Zeus ‌
      زئوس Zeus
      ۱۱ شهریور ۱۳۹۹

      متشکر برای حمایت شما 🙂

  • صالح
    ۲۱ دی ۱۳۹۷

    بسیار عالی توضیح دادید. سپاس

    • Nasim Hematian
      electronic girl
      ۲۲ دی ۱۳۹۷

      سلام. خواهش میکنیم دوست عزیز

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 11 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک