打印
[综合信息]

华大HC32F460KETA USART问题

[复制链接]
1696|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
SingleYork2021|  楼主 | 2021-11-17 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在官方提供的“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
自己研究一下代码不就行了么,一般来说都不建议在中断函数里做太多的事情,除非对实时性有特别的需求,不然 ...

恭喜你答对了,我就是个菜鸟

使用特权

评论回复
地板
zengxing3624| | 2021-11-18 16:27 | 只看该作者
要清除标志,这是我的理解,

使用特权

评论回复
5
sjnh| | 2021-11-18 17:50 | 只看该作者
这是发送寄存器空中断,帧发送完成后关闭中断允许,有数据要发送时再打开,不然一直进中断

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

12

帖子

0

粉丝