- NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;//抢占优先级 3
- NVIC_InitStructure.NVIC_IRQChannelSubPriority =3; //响应优先级 3
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ 通道使能
- NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化 VIC 寄存器、
- //同时,我们还需要使能相应中断,使能串口中断的函数是:
- void USART_ITConfig(USART_TypeDef* USARTx, uint16_t USART_IT,FunctionalState NewState);
- //开启中断的方法是:
- USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启中断,接收到数据中断
- //发送完成)要产生中断,那么方法是:
- USART_ITConfig(USART1,USART_IT_TC,ENABLE);
- //系统的中断优先级分组,我们是在我们 main 函数开头设置的,代码如下:
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组 2
复制代码
|