آموزش میکروکنترلر STM32F4 – قسمت ششم ;
در قسمت پنجم آموزش میکروکنترلر STM32F4 به سازمان دهی حافظه ، حافظه SRAM ، حافظه فلش و حافظه فلش داخلی و خواندن و نوشتن در حافظه پرداختیم. در این قسمت از آموزش میکروکنترلر STM32F4 به مبحث وقفهها میپردازیم. با سیسوگ همراه باشید.
وقفهها
کنترلگرِ وقفه یِ برداریِ تودرتو که با NVIC نشان داده میشود بخشی در میکروکنترلر است که وظیفه کنترل وقفهها را به عهده دارد. برخی ویژگیهای آن این گونه است:
- 82 کانال وقفه ماسک پذیر (به جز 16 وقفه FPU)
- 16 سطحِ برنامه پذیر برای اولویت وقفهها (با استفاده از 4 بیت)
- تاخیر کم استثناء ها
همه وقفهها شامل استثناء های هسته توسط NVIC کنترل میشوند. به کتاب راهنما برنامه نویسی PM0214 مراجعه کنید.
مقدار کالیبره کردن SySTick برابر 18750است که 1 میلی ثانیه پایه زمانی تولید میکند. در این حالت ساعت SySTick را باید برابر MHz 75/18 تنظیم کرد. (HCLK/8 که HCLK=150MHz)
کنترلگر وقفههای خارجی EXTI
این کنترلگر از 23 آشکارکننده لبه تشکیل شده است که برای درخواستهای رویدادها و وقفهها استفاده میشوند. هر خط ورودی را میتوان به شکل جداگانه پیکربندی کرد. این پیکربندی شامل تنظیم برای رویداد یا وقفه و هم چنین رویداد تحریک آن، که لبه بالا رونده یا پایین رونده یا هر دو باشد است. هر خط میتواند به شکل جداگانه ماسک شود.
ویژگیهای مهم وقفه خارجی
ویژگیهای مهم کنترلگر وقفه خارجی اینها هستند:
- SRAM1 و SRAM2 که در آدرس 0x2000 0000 نگاشته شدهاند و توسط همه مسترهای AHB قابل دسترس هستند.
- SRAM3 در آدرس 0x2002 0000 نگاشته شده و توسط همه مسترهای AHB قابل دسترس است.
- حافظه جفت شده با پردازنده در آدرس 0x1000 0000 نگاشته شده و تنها توسط پردازنده و از طریق باس D در دسترس است.
نمودار بلوکی این کنترلگر به شکل زیر است:
در قسمت هفتم آموزش میکروکنترلر STM32F4 به تنظیمات و بارگذار بوت و حافظه مستعار خواهیم پرداخت. با سیسوگ همراه باشید.