<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题]]></title><description><![CDATA[<p dir="auto">测试现象：MCU没有任何日志输出，外设供电正常，看门狗正常喂狗（硬件定时器中断回调函数中喂狗），Ozone调试器连进去后显示 LINFlexD_UART_DRV_RxIRQHandler 中断回调函数一直在触发，但是isRxBusy 状态位处于false，导致中断flag没有清除，中断一直在触发。（已知MCU UART0 对端连接PC端，但是测试过程中 PC端没有向串口发送数据）。帮忙看下该问题应该如何修复。<br />
<img src="https://yt-static-main.oss-cn-shanghai.aliyuncs.com/nodebb/762/1f9437e4-e70b-4321-8356-554b0cfde2e1.png" alt="8ef69452-c82f-4cb7-bcf9-91057a808802-2eb115e01bd5f99cee21e9fd625909f.png" class=" img-fluid img-markdown" /><br />
<img src="https://yt-static-main.oss-cn-shanghai.aliyuncs.com/nodebb/762/a7d6412e-c526-4d30-b876-cf9889ff21f4.png" alt="9d5eae25-ebfc-4eb8-84a0-f81788bc8843-89a01268b02b7cdc70ffe463c46e13b.png" class=" img-fluid img-markdown" /><br />
串口中断状态寄存器如下：<br />
<img src="https://yt-static-main.oss-cn-shanghai.aliyuncs.com/nodebb/762/c7b6c86e-36c1-408e-8ad2-a86657350f6c.png" alt="17e0de43-f414-4159-81ec-997084567156-6f816a50c160593e2189c5270ecdcf8.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.ytmicro.com/topic/2257/ytm32b1ha01-因没有清空中断标志位-导致串口中断一直触发的问题</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 10:18:49 GMT</lastBuildDate><atom:link href="https://forum.ytmicro.com/topic/2257.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Sep 2026 02:52:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 07:55:38 GMT]]></title><description><![CDATA[<p dir="auto">我们当前的流程是任务A负责调用 LINFlexD_UART_DRV_ReceiveData 开启接收，之后等待接收回调函数触发。另有一个软件定时器监控接收超时，超时后会调用 LINFlexD_UART_DRV_AbortReceivingData 将接收abort。（已知软件定时器不会抢占 任务A 的时间片，因此不会出现任务A执行 LINFlexD_UART_DRV_ReceiveData  接口的同时被软件定时器回调函数打断）。<br />
我刚刚的意思是任务A执行LINFlexD_UART_DRV_ReceiveData 的过程被LINFlexD_UART_DRV_ErrIRQHandler 打断进而有概率出现“状态是 isRxBusy 是 false，但中断仍使能”的情况</p>
]]></description><link>https://forum.ytmicro.com/post/9732</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9732</guid><dc:creator><![CDATA[huorunfa]]></dc:creator><pubDate>Sun, 20 Sep 2026 07:55:38 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 07:44:58 GMT]]></title><description><![CDATA[<p dir="auto">把你流程讲一下，正常流程是不可能出现 isRxBusy = false，中断仍使能的情况。你有异步调用开启接收，或者 abort 接收？</p>
]]></description><link>https://forum.ytmicro.com/post/9731</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9731</guid><dc:creator><![CDATA[Diga]]></dc:creator><pubDate>Sun, 20 Sep 2026 07:44:58 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 07:42:39 GMT]]></title><description><![CDATA[<p dir="auto"><img src="https://yt-static-main.oss-cn-shanghai.aliyuncs.com/nodebb/23/10c92c4c-f01c-495b-bb9f-60d74b929a5d.png" alt="image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.ytmicro.com/post/9730</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9730</guid><dc:creator><![CDATA[Diga]]></dc:creator><pubDate>Sun, 20 Sep 2026 07:42:39 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 07:17:25 GMT]]></title><description><![CDATA[<p dir="auto"><img src="https://yt-static-main.oss-cn-shanghai.aliyuncs.com/nodebb/762/ea81bce0-1893-4b78-a984-5275b80e7d0b.png" alt="image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.ytmicro.com/post/9727</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9727</guid><dc:creator><![CDATA[huorunfa]]></dc:creator><pubDate>Sun, 20 Sep 2026 07:17:25 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 06:57:33 GMT]]></title><description><![CDATA[<p dir="auto"><img src="https://yt-static-main.oss-cn-shanghai.aliyuncs.com/nodebb/762/f22ddab6-8201-4067-adf1-6d3570cc1e61.png" alt="image.png" class=" img-fluid img-markdown" /><br />
如果此处触发串口异常中断调用 LINFlexD_UART_DRV_ErrIRQHandler -&gt; LINFlexD_UART_DRV_CompleteReceiveUsingInterrupts 清除 isRxBusy 后，LINFlexD_UART_DRV_StartReceiveUsingInterrupts 继续运行，执行 /* Enable the receiver */<br />
LINFlexD_SetReceiverState(base, true);</p>
<pre><code>    /* Enable receive data full interrupt */
    LINFlexD_SetInterruptMode(base, LINFlexD_DATA_RECEPTION_COMPLETE_INT, true); 是否会导致这个问题
</code></pre>
]]></description><link>https://forum.ytmicro.com/post/9725</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9725</guid><dc:creator><![CDATA[huorunfa]]></dc:creator><pubDate>Sun, 20 Sep 2026 06:57:33 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 06:19:55 GMT]]></title><description><![CDATA[<p dir="auto">我猜测：在你的代码里，应该是 LINFlexD_UART_DRV_CompleteReceiveUsingInterrupts 这个函数去把 isRxBusy 设置成 false，但是在这之前，接收中断就已经关了。但现在你的状态是 isRxBusy 是 false，但中断仍使能，就会导致一直进接收中断，却没法接收数据。还是建议自查一下代码</p>
]]></description><link>https://forum.ytmicro.com/post/9722</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9722</guid><dc:creator><![CDATA[Diga]]></dc:creator><pubDate>Sun, 20 Sep 2026 06:19:55 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 03:23:51 GMT]]></title><description><![CDATA[<p dir="auto">噪声会导致 DRF_RFE 接收中断标志置位吗？现场问题是 DRF_RFE  置位，但是 uartState-&gt;isRxBusy 没有置位，这个中断清不掉</p>
]]></description><link>https://forum.ytmicro.com/post/9721</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9721</guid><dc:creator><![CDATA[huorunfa]]></dc:creator><pubDate>Sun, 20 Sep 2026 03:23:51 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 03:20:40 GMT]]></title><description><![CDATA[<p dir="auto">示波器看着没啥问题，这个也是偶发性的，当前SDK是不是没有处理这种情况？</p>
]]></description><link>https://forum.ytmicro.com/post/9720</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9720</guid><dc:creator><![CDATA[huorunfa]]></dc:creator><pubDate>Sun, 20 Sep 2026 03:20:40 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 03:18:33 GMT]]></title><description><![CDATA[<ol>
<li>看状态应该是有噪声，noise flag 有置起，建议用示波器看一下总线</li>
<li>如果你确定个数的，那就正确设置个数，上层协议应该是要规定的。如果不定长的帧，那就不能设置较小的接收值，采用不定长帧的接收方式，demo 里有不定长接收</li>
</ol>
]]></description><link>https://forum.ytmicro.com/post/9719</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9719</guid><dc:creator><![CDATA[Diga]]></dc:creator><pubDate>Sun, 20 Sep 2026 03:18:33 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 03:08:28 GMT]]></title><description><![CDATA[<ol>
<li>软件内部有接收动作，但是测试过程中对端没有发出过数据，为什么会触发接收中断？</li>
<li>“配置接收 8 个字节，实际收到超过 8 个字节”出现这种情况会导致中断一直触发吗？实际开发过程中是避免不了有这种情况出现的。</li>
</ol>
]]></description><link>https://forum.ytmicro.com/post/9718</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9718</guid><dc:creator><![CDATA[huorunfa]]></dc:creator><pubDate>Sun, 20 Sep 2026 03:08:28 GMT</pubDate></item><item><title><![CDATA[Reply to YTM32B1HA01 因没有清空中断标志位，导致串口中断一直触发的问题 on Sun, 20 Sep 2026 03:02:51 GMT]]></title><description><![CDATA[<p dir="auto">有可能是你配置接收 8 个字节，实际收到超过 8 个字节</p>
]]></description><link>https://forum.ytmicro.com/post/9717</link><guid isPermaLink="true">https://forum.ytmicro.com/post/9717</guid><dc:creator><![CDATA[Diga]]></dc:creator><pubDate>Sun, 20 Sep 2026 03:02:51 GMT</pubDate></item></channel></rss>