什么引起串口中断

 我来答
求真实验室
2022-10-13 · 探索生活中的科学奥秘
求真实验室
太平洋电脑网是专业IT门户网站,为用户和经销商提供IT资讯和行情报价,涉及电脑,手机,数码产品,软件等。
向TA提问
展开全部

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使用阻塞方式发送出去,接着再启动接收就可以了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式