[综合信息] 华大HC32F460KETA USART问题

[复制链接]
2278|4
 楼主| SingleYork2021 发表于 2021-11-17 15:16 | 显示全部楼层 |阅读模式
在官方提供的“uart_irq”例程中,为什么要在main.c的while循环中加这一段代码?加在某个中断回调函数里面不行么?如果可以,要怎么加?

  1. while (1)
  2.     {
  3.         if ((!IS_RING_BUFFER_EMPTY(&m_stcRingBuf)) && (0u == m_u8Status))
  4.         {
  5.             USART_FuncCmd(USART_CH, UsartTxAndTxEmptyInt, Enable);
  6.             m_u8Status = 1u;
  7.         }
  8.     }


wubangmi 发表于 2021-11-17 15:28 | 显示全部楼层
自己研究一下代码不就行了么,一般来说都不建议在中断函数里做太多的事情,除非对实时性有特别的需求,不然别人就能肯定你就是个菜鸟工程师
 楼主| SingleYork2021 发表于 2021-11-17 15:47 | 显示全部楼层
wubangmi 发表于 2021-11-17 15:28
自己研究一下代码不就行了么,一般来说都不建议在中断函数里做太多的事情,除非对实时性有特别的需求,不然 ...

恭喜你答对了,我就是个菜鸟
zengxing3624 发表于 2021-11-18 16:27 | 显示全部楼层
要清除标志,这是我的理解,
sjnh 发表于 2021-11-18 17:50 | 显示全部楼层
这是发送寄存器空中断,帧发送完成后关闭中断允许,有数据要发送时再打开,不然一直进中断
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

12

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部