SingleYork2021 发表于 2021-11-17 15:16

华大HC32F460KETA USART问题

在官方提供的“uart_irq”例程中,为什么要在main.c的while循环中加这一段代码?加在某个中断回调函数里面不行么?如果可以,要怎么加?

while (1)
    {
      if ((!IS_RING_BUFFER_EMPTY(&m_stcRingBuf)) && (0u == m_u8Status))
      {
            USART_FuncCmd(USART_CH, UsartTxAndTxEmptyInt, Enable);
            m_u8Status = 1u;
      }
    }

wubangmi 发表于 2021-11-17 15:28

自己研究一下代码不就行了么,一般来说都不建议在中断函数里做太多的事情,除非对实时性有特别的需求,不然别人就能肯定你就是个菜鸟工程师

SingleYork2021 发表于 2021-11-17 15:47

wubangmi 发表于 2021-11-17 15:28
自己研究一下代码不就行了么,一般来说都不建议在中断函数里做太多的事情,除非对实时性有特别的需求,不然 ...

恭喜你答对了,我就是个菜鸟{:lol:}

zengxing3624 发表于 2021-11-18 16:27

要清除标志,这是我的理解,

sjnh 发表于 2021-11-18 17:50

这是发送寄存器空中断,帧发送完成后关闭中断允许,有数据要发送时再打开,不然一直进中断
页: [1]
查看完整版本: 华大HC32F460KETA USART问题