XMC UART 送受信 FIFO 割り込みの例の問題

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-transmit-receive-fifo-interrupts"のサンプルコードに従いましたが、私が得た結果は期待どおりではありませんでした。

  1. UART RX が受信したデータが正しくありませんでした。 01ボーで08から115200までデータを送信しましたが、受信したデータは奇妙な数字でした。

02.PNG

01.PNG

 

  1. UART RXは、データを受信するために割り込む前に63バイトを受信する必要があります。 この部分は正常に機能しましたが、データを処理した後、UART RXはデータを受信できなくなりました。

 

感謝

クリス

0 件の賞賛
1 解決策
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

我修改了一下函数的逻辑,放在这里给你看一下,测试的project我放在附件里面了,你重点看一下main.c。

原先的代码示例rx_index没有reset 到0,修改limit的地方没有考虑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,我按照如截图所示的进行测试,debug数据是正常的。可以先关闭所有TX的中断和fifo进行测试,示例工程里面发送数据是要大于等于9个字节。NUM_DATA是9。请尝试按照我截图的用默认设置进行测试。

LinglingG_46_0-1698125208751.png

感謝

リンリン

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちはリンリン

更改Buad 為9600後,確定可以rx_data收到資料。

 

擷取.PNG

 

 

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

 

感謝

クリス

 

 

0 件の賞賛
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

我修改了一下函数的逻辑,放在这里给你看一下,测试的project我放在附件里面了,你重点看一下main.c。

原先的代码示例rx_index没有reset 到0,修改limit的地方没有考虑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 件の賞賛