由于现在要用STM32的通信功能,所以需要同时使用两个串口,现在使用USART1跟 USART2,IO口设置完毕后,现在在中断这里,两个串口的中断,优先级是一样的么?
//usart1中断设置
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
//Usart2 中断设置
NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
这里按照原子哥代码,这样子设置过后,那么结果应该是两个串口的抢占优先级跟跟从优先级都一样了,这样子的话,中断顺序就是根据中断表里面的顺序,USART1排在USART2前面对吧 |