اموزش کار با وقفه های خارجی میکروکنترلر ARM

هدف از مثال زیر این است که شما با وقفه­های خارجی  EXTI)) وطریقه­ ی راه­اندازی آن در میکروکنترلر­های ARM   آشنا شوید.


شرح کلی برنامه

همانطور که در تصویر زیر مشاهده می­کنید، در ابتدای برنامه کتابخانه­های مربوطه فراخوانی شده­اند. سپس در قسمت دوم پیکربندی مربوط بهLED  ها انجام شده است.در تابع STM_EVAL_LEDInit() کلاک و پیکربندی مربوط به LED ها  انجام می­گیرد. در قسمت سوم پیکربندی وقفه­ی خارجی انجام می­شود که روتین وقفه در داخل فایل stm32f10x_it و در تابعEXTI9_5_IRQHandler()  طبق شکل زیر قرار دارد.

[pastacode lang=”cpp” manual=”%2F*%20Includes%20——————————————————————*%2F%0A%23include%20%22stm32f10x.h%22%0A%23include%20%22bsp.h%22%0A%0A%0A%2F**%0A%20%20*%20%40brief%20%20Main%20program.%0A%20%20*%20%40param%20%20None%0A%20%20*%20%40retval%20None%0A%20%20*%2F%0Aintmain(void)%0A%7B%0A%20%20%2F*!%3C%20At%20this%20stage%20the%20microcontroller%20clock%20setting%20is%20already%20configured%2C%0A%20%20%20%20%20%20%20this%20is%20done%20through%20SystemInit()%20function%20which%20is%20called%20from%20startup%0A%20%20%20%20%20%20%20file%20(startup_stm32f10x_xx.s)%20before%20to%20branch%20to%20application%20main.%0A%20%20%20%20%20%20%20To%20reconfigure%20the%20default%20setting%20of%20SystemInit()%20function%2C%20refer%20to%0A%20%20%20%20%20%20%20system_stm32f10x.c%20file%0A%20%20%20%20%20*%2F%0A%20%20%20%20%20%20%20%20%20%0A%20%20%2F*%20Initialize%20LED1%20and%20Key%20Button%20mounted%20on%20STM3210X-EVAL%20board%20*%2F%0A%20%20STM_EVAL_LEDInit(LED1)%3B%0A%20%20STM_EVAL_LEDInit(LED2)%3B%0A%20%20STM_EVAL_LEDInit(LED3)%3B%0A%20%20STM_EVAL_LEDInit(LED4)%3B%0A%20%20%2F*%20Configure%20Pc.6%20%20in%20interrupt%20mode%20*%2F%0A%20%20EXTI9_5_Config()%3B%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20while(1)%0A%20%20%7B%0A%20%20%7D%0A%7D” message=”” highlight=”” provider=”manual”/]

[pastacode lang=”cpp” manual=”%2F**%0A%20%20*%20%40brief%20%20This%20function%20handles%20External%20lines%209%20to%205%20interrupt%20request.%0A%20%20*%20%40param%20%20None%0A%20%20*%20%40retval%20None%0A%20%20*%2F%0AvoidEXTI9_5_IRQHandler(void)%0A%7B%0A%0A%20%20if(EXTI_GetITStatus(EXTI_Line6)%20!%3D%20RESET)%0A%20%20%7B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%2F*%20Toggle%20LED2%20*%2F%0A%20%20%20%20%20STM_EVAL_LEDToggle(LED1)%3B%0A%20%20%20%20%20STM_EVAL_LEDToggle(LED2)%3B%0A%20%20%20%20%20STM_EVAL_LEDToggle(LED3)%3B%0A%20%20%20%20%20STM_EVAL_LEDToggle(LED4)%3B%0A%20%20%20%20%2F*%20Clear%20the%20%20EXTI%20line%209%20pending%20bit%20*%2F%0A%20%20%20%20EXTI_ClearITPendingBit(EXTI_Line6)%3B%0A%20%20%7D%0A%0A%7D” message=”” highlight=”” provider=”manual”/]

 

آشنایی و کار با برنامه

ابتدا برنامه را با نرم افزار Keil باز کنید.

 

 

 

 

 

 

 

 

تغذیه 5 ولت را به برد آموزشی متصل کنید و بعد از اینکه پروگرامر ST-LINK را به برد متصل نمودید؛ برنامه را با استفاده از دکمه ­ی Download    پروگرم نمائید.

 

دانلود مثال ها و pdf این مقاله



[pastacode lang=”cpp” manual=”%2F%0A%20%20*%20%40brief%20%20This%20function%20handles%20External%20lines%209%20to%205%20interrupt%20request.%0A%20%20*%20%40param%20%20None%0A%20%20*%20%40retval%20None%0A%20%20*%2F%0AvoidEXTI9_5_IRQHandler(void)%0A%7B%0A%0A%20%20if(EXTI_GetITStatus(EXTI_Line6)%20!%3D%20RESET)%0A%20%20%7B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%2F*%20Toggle%20LED2%20*%2F%0A%20%20%20%20%20STM_EVAL_LEDToggle(LED1)%3B%0A%20%20%20%20%20STM_EVAL_LEDToggle(LED2)%3B%0A%20%20%20%20%20STM_EVAL_LEDToggle(LED3)%3B%0A%20%20%20%20%20STM_EVAL_LEDToggle(LED4)%3B%0A%20%20%20%20%2F*%20Clear%20the%20%20EXTI%20line%209%20pending%20bit%20*%2F%0A%20%20%20%20EXTI_ClearITPendingBit(EXTI_Line6)%3B%0A%20%20%7D%0A%0A%7D” message=”” highlight=”” provider=”manual”/]

 

آشنایی و کار با برنامه

ابتدا برنامه را با نرم افزار Keil باز کنید.

 

 

 

 

 

 

 

 

تغذیه 5 ولت را به برد آموزشی متصل کنید و بعد از اینکه پروگرامر ST-LINK را به برد متصل نمودید؛ برنامه را با استفاده از دکمه ­ی Download    پروگرم نمائید.

 

دانلود مثال ها و pdf این مقاله



آشنایی و کار با برنامه

ابتدا برنامه را با نرم افزار Keil باز کنید.

 

 

 

 

 

 

 

 

تغذیه 5 ولت را به برد آموزشی متصل کنید و بعد از اینکه پروگرامر ST-LINK را به برد متصل نمودید؛ برنامه را با استفاده از دکمه ­ی Download    پروگرم نمائید.

 

دانلود مثال ها و pdf این مقاله



Tags: , , ,