USART6 on STM32F4 Port

classic Classic list List threaded Threaded
2 messages Options
Patrick Patrick
Reply | Threaded
Open this post in threaded view
|

USART6 on STM32F4 Port

I'm trying to use the STM32F4 port from master on an STM32F405ZG and I have it mostly working. The problem that I'm running into currently has to do with using USART6. I can send just fine, but I can't receive anything. (Well, if I set it to no buffer I can receive one character.) It seems that the interrupts for it aren't being enabled. platform_int.c has:

static const u8 uart_irq_table[] = { USART1_IRQn, USART2_IRQn, USART3_IRQn, UART4_IRQn, UART5_IRQn };

if I add "USART6_IRQn" to the end of that list, the interrupt does get triggered, but it seems to be going to a "no interrupt" address and getting stuck there, when I break in GDB it tells me it's sitting at "0x0801ea0c in WWDG_IRQHandler ()" and never moves from that address. I've seen the exact same thing before, when I didn't have the SDIO interrupt setup properly. The window watchdog is not enabled, I think it's just the first symbol with that address.

Is there something else I need to setup to get that interrupt to run the right code?
Patrick Patrick
Reply | Threaded
Open this post in threaded view
|

Re: USART6 on STM32F4 Port

Why does that always happen? As soon as I ask the question I figure out the answer on my own. For anyone else, I needed:

void USART6_IRQHandler()
{
  all_usart_irqhandler( 5 );
}

around line 56 in platform_int.c