I have example code from ST for I2C and it configures the NVIC as such:
/**
* @brief Configures NVIC and Vector Table base location.
* @param None
* @retval : None
*/
void NVIC_Configuration(void)
{
/* 1 bit for pre-emption priority, 3 bits for subpriority */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
NVIC_SetPriority(I2C1_EV_IRQn, 0x00);
NVIC_EnableIRQ(I2C1_EV_IRQn);
NVIC_SetPriority(I2C1_ER_IRQn, 0x01);
NVIC_EnableIRQ(I2C1_ER_IRQn);
NVIC_SetPriority(I2C2_EV_IRQn, 0x00);
NVIC_EnableIRQ(I2C2_EV_IRQn);
NVIC_SetPriority(I2C2_ER_IRQn, 0x01);
NVIC_EnableIRQ(I2C2_ER_IRQn);
}
The code in elua release uses:
// ****************************************************************************
// Initialize interrupt subsystem
// UART IRQ table
#if defined( STM32F10X_LD )
static const u8 uart_irq_table[] = { USART1_IRQn, USART2_IRQn };
#elseif defined( STM32F10X_MD )
static const u8 uart_irq_table[] = { USART1_IRQn, USART2_IRQn, USART3_IRQn };
#else // high density devices
static const u8 uart_irq_table[] = { USART1_IRQn, USART2_IRQn, USART3_IRQn, UART4_IRQn, UART5_IRQn };
#endif
void platform_int_init()
{
NVIC_InitTypeDef nvic_init_structure;
unsigned i;
// Enable all USART interrupts in the NVIC
nvic_init_structure.NVIC_IRQChannelPreemptionPriority = 0;
nvic_init_structure.NVIC_IRQChannelSubPriority = 0;
nvic_init_structure.NVIC_IRQChannelCmd = ENABLE;
for( i = 0; i < sizeof( uart_irq_table ) / sizeof( u8 ); i ++ )
{
nvic_init_structure.NVIC_IRQChannel = uart_irq_table[ i ];
NVIC_Init( &nvic_init_structure );
}
}
// ****************************************************************************
// Interrupt table
// Must have a 1-to-1 correspondence with the interrupt enum in platform_conf.h!
const elua_int_descriptor elua_int_table[ INT_ELUA_LAST ] =
{
{ int_tmr_match_set_status, int_tmr_match_get_status, int_tmr_match_get_flag },
{ int_uart_rx_set_status, int_uart_rx_get_status, int_uart_rx_get_flag }
};
what would be the best way to combine the two, or do I need to.
thanks,
Bill
_______________________________________________
eLua-dev mailing list
[hidden email]
https://lists.berlios.de/mailman/listinfo/elua-dev