什么引起串口中断
1个回答
展开全部
SBUF中的数据发送完毕,TI传送结束标志置1,如果设置了ES=1(串口中断是允许的),就进入串口中断服务程序。解决方法如下:
1、首先打开Cube工程,在Pinout页使能需要使用的串口。
2、切换到“Configuration”页,找到并点击需要使用的串口,比如之前选择的USART2。
3、在弹出的“xxx Configuration”对话框中选择“NVIC Settings”,勾选“xxx global interrupt”的Enabled,其中xxx为目标串口名称。
4、回到“Configuration”页,在“NVIC Configuration”对话框点击“Code generation”,勾选“xxx global interrupt”的Generate IRQ handler和“Select for init sequence ord...”。
5、点击“Project ->Generate Code”生成代码。
6、重写HAL_UART_RxCpltCallback回调函数,这里的代码通过判断huart ->Instance是否为USART2,然后将接收的data使用阻塞方式发送出去,接着再启动接收就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询