cancel
Showing results for 
Search instead for 
Did you mean: 

STM32f407 MCU two interrupts at some time

ciel076
Associate II
Posted on July 25, 2015 at 02:19

I used TIMER 2. It's interrupt time is 1us.

I made one long pulse and short pulse using GPIO output pin and TIMER 2.

but sometimes, interrupts occurred two times.

First figure is the result I want to get.

Second figure is the result I can get now.

At second figure the red circle is an error I think.

It's shivering in trigger mode.

Here is my code

void TIM2_IRQHandler(void)

{

//TIM_ClearITPendingBit(TIM2, TIM_IT_Update);

assert_param(IS_TIM_ALL_PERIPH(TIM2));

TIM2->SR = (uint16_t)~0x0001;

//////Enable pin wait.(1us)

for(a=0;a<33;a++){

GPIOB->BSRRL = GPIO_Pin_0;

}

//wait(300ns)

for(a=0;a<10;a++){

GPIOB->BSRRH = GPIO_Pin_0;}

//one more short pulse(20ns)

GPIOB->BSRRL = GPIO_Pin_0;

GPIOB->BSRRH = GPIO_Pin_0;

}
1 REPLY 1
Posted on July 25, 2015 at 03:16

Please don't [DEAD LINK /public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/STM32f407%20MCU%20two%20interrupts%20at%20some%20time&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&TopicsView=https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/AllItems.aspx&currentviews=3]cross post into multiple forum.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..