Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

https://github.com/Infineon/mtb-example-xmc-uart-transmit-receive-fifo-interrupts

 

我遵循了 Github 上的 " mtb-example-xmc-uart-傳輸-接收-fifo-中斷的示例代碼,但我得到的結果不如預期。"

  1. UART RX 收到的數據不正確。 我以 115200 波特傳輸的數據從 01 到 08,但收到的數據是奇怪的數字。

02.PNG

01.PNG

 

  1. UART RX 必須接收 63 個字節,然後才會中斷接收數據。 此部分工作良好,但在處理數據後,UART RX 無法再接收任何數據。

 

謝謝,

克里斯

1 解決方案
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

我修改了一下函件的,放在里你看一下,的項目我放在附件里面了,你重看一下主 .c。

原先的代表示例 rx_index 有重置到 0,修改限制的地方有考 0 的情。所有后面代就混了。

1:

    if((NUM_DATA - rx_index) < CYBSP_DEBUG_UART_RXFIFO_LIMIT)
    {
        XMC_USIC_CH_RXFIFO_SetSizeTriggerLimit(CYBSP_DEBUG_UART_HW, XMC_USIC_CH_FIFO_SIZE_8WORDS, (NUM_DATA - rx_index) - 1);
    }
	/* Reset the flag to zero */
			flag = 0;
			rx_index=0;

在原始文章中檢視解決方案

0
4 回應
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

工程我直接從 github 上面向下下來,默默的速率是 9600bps,我按照如截圖所示的行,調試是正常的。可以先所有 tx 的中和 fifo 行,示例工程里面送是要大于等于 9 个字,。數量數據是 9。按照我截圖的用默置行。

LinglingG_46_0-1698125208751.png

謝謝,

零陵

0
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨玲

更改了步驟為 9600 後,確定可以將 rx_data 收集到資料。

 

擷取.PNG

 

 

但如果第一頁的第 2 點提供了,僅能收到一組數據,傳遞第 2 組以後的數據都無法收到。

 

謝謝,

克里斯

 

 

0
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

我修改了一下函件的,放在里你看一下,的項目我放在附件里面了,你重看一下主 .c。

原先的代表示例 rx_index 有重置到 0,修改限制的地方有考 0 的情。所有后面代就混了。

1:

    if((NUM_DATA - rx_index) < CYBSP_DEBUG_UART_RXFIFO_LIMIT)
    {
        XMC_USIC_CH_RXFIFO_SetSizeTriggerLimit(CYBSP_DEBUG_UART_HW, XMC_USIC_CH_FIFO_SIZE_8WORDS, (NUM_DATA - rx_index) - 1);
    }
	/* Reset the flag to zero */
			flag = 0;
			rx_index=0;
0
Translation_Bot
Community Manager
Community Manager
Community Manager

親愛的靈玲

測試完全沒有問題,非常感謝謝您的快速解答!

 

克里斯

0