External Interrupt

mikroC, mikroBasic and mikroPascal PRO for Microchip’s (formerly Atmel) 8-bit AVR MCUs
Post Reply
Author
Message
BorisF
Posts: 5
Joined: 07 Mar 2018 08:37

External Interrupt

#1 Post by BorisF » 07 Mar 2018 08:56

Hi,
I am trying to use external interrupt.
I connect the PB3 to external output and I want to detect ricing voltage.
I Using microcontroller STM32L476RG on Nucleo-L476RG.

Moreover,
I found the example that explained how use external interrupts on https://www.youtube.com/watch?v=uKwD3JuRWeA. In my code I changed to PB3.
But Something wrong.

This is my small code.
May anyone can detect the problem?



static int SlowSpeedFlag = 0;

void external_interrupt() iv IVT_INT_EXTI3 ics ICS_AUTO
{
if((EXTI_PR1 & PR3) != 0) //Check if PE11 has trigger the interrupt
{
EXTI_PR1 |= PR3;
SlowSpeedFlag = 1;
}
}
//-----------------------------------------------------------------------------------//
void main()
{


GPIO_Digital_Output(&GPIOA_BASE, _GPIO_PINMASK_5); //Led2 on Nucleo Board
GPIOA_ODR = 0;
GPIO_Digital_Input(&GPIOC_IDR, _GPIO_PINMASK_13); //Button On Nucleo Board
GPIOC_ODR = 0;


EnableInterrupts(); //Enable global interrupt
//RCC_AHB2ENR.B1 = 1;
GPIOBEN_bit = 1;

GPIO_Config(&GPIOB_BASE,_GPIO_PINMASK_3, _GPIO_CFG_MODE_INPUT | _GPIO_CFG_PULL_DOWN);
NVIC_IntEnable(IVT_INT_EXTI3); //Enable NVIC interface

//RCC_AHB2ENR.B0 = 1;
SYSCFGEN_bit = 1;
//SYSCFG_EXTICR1.B2 = 1;
EXTI02_bit = 1;
//SYSCFG_EXTICR1.B1 = 0;
EXTI01_bit = 0;
//SYSCFG_EXTICR1.B0 = 0;
EXTI00_bit = 0;



EXTI_RTSR1.TR3 = 1; //Rising trigger enabled (for Event and Interrupt) for input line
EXTI_IMR1.MR3 = 1; //Interrupt request from Line x is not masked
EXTI_EMR1.B3 = 1; //Event request from line x is not masked


while(1)
{
if(SlowSpeedFlag == 0)
Delay_ms(500);
else
Delay_ms(100);


//if button pressed, the speed of led blinking will changed
if(IDR13_GPIOC_IDR_bit == 0)
{
if(SlowSpeedFlag == 0)
SlowSpeedFlag = 1;
else if(SlowSpeedFlag == 1)
SlowSpeedFlag = 0;

while(IDR13_GPIOC_IDR_bit==0);
}

GPIOA_ODR.B5 = !GPIOA_ODR.B5; //Togle Led2 on Nucleo Board

}
}

User avatar
filip
mikroElektronika team
Posts: 11874
Joined: 25 Jan 2008 09:56

Re: External Interrupt

#2 Post by filip » 12 Mar 2018 09:50

Hi,

I believe I have answered you on the other post regarding the same issue.

Regards,
Filip.

Post Reply

Return to “AVR PRO Compilers”