UART TX-DMA and UART RX-Interrupt

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

UART TX-DMA and UART RX-Interrupt

686 次查看
Vamshi_
Contributor II

Hii,

   I am using s32k148 eval board and using this s32 ide and I want to configure UART TX as DMA and UART RX as interrupt mode, can anyone help me how to configure them as separately. because when we are use MEX driver we can configure the instance only in one mode either dma/interrupt mode only.Screenshot 2025-12-06 123953.png

0 项奖励
回复
5 回复数

588 次查看
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Vamshi_,

The driver (S32 Config Tools) cannot separate channels. Is there a reason you need to separate DMA and interrupt? Why not use DMA for both TX & RX?

Best regards,
Julián

0 项奖励
回复

563 次查看
Vamshi_
Contributor II

Hey, thanks for your reply but based upon my project requirement i have to do in that way like tx - dma and rx -interrupt based but i am unable to figure it out how to do that .

0 项奖励
回复

541 次查看
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Vamshi_,

I believe it is possible, but you will have configure some things manually, such as separating Tx&Rx interrupts, and only initializing DMA for Tx.

1. When configuring "LPUART_UART_IP_USING_DMA", both Tx & Rx channels are needed. You must route these two to a DMA channel if you want to generate Config Tools code.

2. Enable CTRL[RIE] for Rx interrupts and disable CTRL[TIE] for Tx interrupts. 

3. In your main code:

TX (DMA): call Lpuart_Uart_Ip_AsyncTransmit() (it uses DMA when LPUART_IP_USING_DMA is enabled).
RX (interrupt): call Lpuart_Uart_Ip_AsyncReceive() and install user callback. Keep regularly resetting the RX buffer in the LPUART_UART_IP_EVENT_RX_FULL callback (with Lpuart_Uart_Ip_SetRxBuffer()) for continuous reception.

I have not tested this, since it is a somewhat corner case, but I believe it should work.

Additionally, you can enable DMA ISR instead of separating the channels, if this fills your requirements instead.

I can try testing the configuration, however it will take some time.

Best regards,
Julián

0 项奖励
回复

528 次查看
Vamshi_
Contributor II
Thanks for reply, But if we do like that then it becomes controller specific?
0 项奖励
回复

473 次查看
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Vamshi_,

Yes. As I've mentioned, the configuration tools do not support separating the channels. It is controller specific.

Best regards,
Julián

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2256386%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EUART%20TX-DMA%20%E5%92%8C%20UART%20RX-%E4%B8%AD%E6%96%AD%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2256386%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHii%E3%80%81%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20s32k148%20%E8%AF%84%E4%BC%B0%E6%9D%BF%E5%B9%B6%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%20s32%20ide%20%E6%88%91%E6%83%B3%E5%B0%86%20UART%20TX%20%E9%85%8D%E7%BD%AE%E4%B8%BA%20DMA%EF%BC%8C%E5%B0%86%20UART%20RX%20%E9%85%8D%E7%BD%AE%E4%B8%BA%E4%B8%AD%E6%96%AD%E6%A8%A1%E5%BC%8F%EF%BC%8C%E8%B0%81%E8%83%BD%E5%B8%AE%E6%88%91%E5%A6%82%E4%BD%95%E5%B0%86%E5%AE%83%E4%BB%AC%E5%8D%95%E7%8B%AC%E9%85%8D%E7%BD%AE%E3%80%82%E5%9B%A0%E4%B8%BA%E5%9C%A8%E4%BD%BF%E7%94%A8%20MEX%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AA%E8%83%BD%E5%9C%A8%E4%B8%80%E7%A7%8D%E6%A8%A1%E5%BC%8F%E4%B8%8B%E9%85%8D%E7%BD%AE%E5%AE%9E%E4%BE%8B%EF%BC%8C%E5%8D%B3%E5%8F%AA%E8%83%BD%E5%9C%A8%20dma%2Finterrupt%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%E9%85%8D%E7%BD%AE%E5%AE%9E%E4%BE%8B%E3%80%82%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Screenshot%202025-12-06%20123953.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-12-06%20123953.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-12-06%20123953.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-12-06%20123953.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-12-06%20123953.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-12-06%20123953.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-12-06%20123953.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F368824iD773D7C3F1FE32C6%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Screenshot%202025-12-06%20123953.png%22%20alt%3D%22Screenshot%202025-12-06%20123953.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2257477%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20UART%20TX-DMA%20and%20UART%20RX-Interrupt%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2257477%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F256519%22%20target%3D%22_blank%22%3E%40Vamshi_%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%EF%BC%88S32%20%E9%85%8D%E7%BD%AE%E5%B7%A5%E5%85%B7%EF%BC%89%E6%97%A0%E6%B3%95%E5%88%86%E7%A6%BB%E9%80%9A%E9%81%93%E3%80%82%E9%9C%80%E8%A6%81%E5%B0%86%20DMA%20%E5%92%8C%E4%B8%AD%E6%96%AD%E5%88%86%E5%BC%80%E7%9A%84%E5%8E%9F%E5%9B%A0%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E5%B0%86%20DMA%20%E7%94%A8%E4%BA%8E%20TX%26amp%3B%20RX%EF%BC%9F%3C%2FP%3E%0A%3CP%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E8%AF%9A%E6%8C%9A%E7%9A%84%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EJuli%C3%A1n%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2258463%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20UART%20TX-DMA%20and%20UART%20RX-Interrupt%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2258463%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F256519%22%20target%3D%22_blank%22%3E%40Vamshi_%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E6%88%91%E8%AE%A4%E4%B8%BA%E8%BF%99%E6%98%AF%E5%8F%AF%E8%83%BD%E7%9A%84%EF%BC%8C%E4%BD%86%E4%BD%A0%E5%BF%85%E9%A1%BB%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E4%B8%80%E4%BA%9B%E4%B8%9C%E8%A5%BF%EF%BC%8C%E4%BE%8B%E5%A6%82%E5%88%86%E7%A6%BB%20Tx%26amp%3BRx%20%E4%B8%AD%E6%96%AD%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%8F%AA%E5%88%9D%E5%A7%8B%E5%8C%96%20Tx%20%E7%9A%84%20DMA%E3%80%82%3C%2FP%3E%0A%3CP%3E1.%E9%85%8D%E7%BD%AE%22LPUART_UART_IP_USING_DMA%22%20%E6%97%B6%EF%BC%8CTx%26amp%3B%20Rx%20%E9%80%9A%E9%81%93%E9%83%BD%E9%9C%80%E8%A6%81%E3%80%82%E5%A6%82%E6%9E%9C%E8%A6%81%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E5%B7%A5%E5%85%B7%E4%BB%A3%E7%A0%81%EF%BC%8C%E5%BF%85%E9%A1%BB%E5%B0%86%E8%BF%99%E4%B8%A4%E4%B8%AA%E9%80%9A%E9%81%93%E8%B7%AF%E7%94%B1%E5%88%B0%20DMA%20%E9%80%9A%E9%81%93%E3%80%82%3C%2FP%3E%0A%3CP%3E2.%E5%AF%B9%20Rx%20%E4%B8%AD%E6%96%AD%E5%90%AF%E7%94%A8%20CTRL%5BRIE%5D%EF%BC%8C%E5%AF%B9%20Tx%20%E4%B8%AD%E6%96%AD%E7%A6%81%E7%94%A8%20CTRL%5BTIE%5D%E3%80%82%20%3C%2FP%3E%0A%3CP%3E3.%E5%9C%A8%E4%B8%BB%E4%BB%A3%E7%A0%81%E4%B8%AD%3C%2FP%3E%0A%3CP%3E%E5%8F%91%E9%80%81%EF%BC%88DMA%EF%BC%89%EF%BC%9A%E8%B0%83%E7%94%A8%20Lpuart_Uart_Ip_AsyncTransmit()%EF%BC%88%E5%90%AF%E7%94%A8%3CSTRONG%3ELPUART_IP_USING_DMA%3C%2FSTRONG%3E%E6%97%B6%E4%BD%BF%E7%94%A8%20DMA%EF%BC%89%E3%80%82%3CBR%20%2F%3ERX%EF%BC%88%E4%B8%AD%E6%96%AD%EF%BC%89%EF%BC%9A%E8%B0%83%E7%94%A8%20Lpuart_Uart_Ip_AsyncReceive()%EF%BC%8C%E5%B9%B6%E5%AE%89%E8%A3%85%E7%94%A8%E6%88%B7%E5%9B%9E%E8%B0%83%E3%80%82%3CSTRONG%3E%E5%9C%A8%20LPUART_UART_IP_EVENT_RX_FULL%3C%2FSTRONG%3E%20%E5%9B%9E%E8%B0%83%EF%BC%88%E4%BD%BF%E7%94%A8%20Lpuart_Uart_Ip_SetRxBuffer()%EF%BC%89%E4%B8%AD%E5%AE%9A%E6%9C%9F%20RESET%20RX%20%E7%BC%93%E5%86%B2%E5%8C%BA%E4%BB%A5%E5%AE%9E%E7%8E%B0%E6%8C%81%E7%BB%AD%E6%8E%A5%E6%94%B6%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%88%91%E6%B2%A1%E6%9C%89%E8%BF%9B%E8%A1%8C%E8%BF%87%E6%B5%8B%E8%AF%95%EF%BC%8C%E5%9B%A0%E4%B8%BA%E8%BF%99%E5%8F%AA%E6%98%AF%E4%B8%AA%E5%B0%8F%E6%A6%82%E7%8E%87%E4%BA%8B%E4%BB%B6%EF%BC%8C%E4%BD%86%E6%88%91%E7%9B%B8%E4%BF%A1%E5%AE%83%E5%BA%94%E8%AF%A5%E6%98%AF%E5%8F%AF%E8%A1%8C%E7%9A%84%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%AD%A4%E5%A4%96%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%83%BD%E6%BB%A1%E8%B6%B3%E6%82%A8%E7%9A%84%E8%A6%81%E6%B1%82%EF%BC%8C%E6%82%A8%E8%BF%98%E5%8F%AF%E4%BB%A5%E5%90%AF%E7%94%A8%20DMA%20ISR%20%E6%9D%A5%E4%BB%A3%E6%9B%BF%E5%88%86%E7%A6%BB%E9%80%9A%E9%81%93%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%88%91%E5%8F%AF%E4%BB%A5%E5%B0%9D%E8%AF%95%E6%B5%8B%E8%AF%95%E9%85%8D%E7%BD%AE%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E4%B8%80%E4%BA%9B%E6%97%B6%E9%97%B4%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E8%AF%9A%E6%8C%9A%E7%9A%84%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EJuli%C3%A1n%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2257653%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20UART%20TX-DMA%20and%20UART%20RX-Interrupt%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2257653%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%98%BF%EF%BC%8C%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%EF%BC%8C%E4%BD%86%E6%A0%B9%E6%8D%AE%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E8%A6%81%E6%B1%82%EF%BC%8C%E6%88%91%E5%BF%85%E9%A1%BB%E4%BB%A5%E8%BF%99%E6%A0%B7%E7%9A%84%E6%96%B9%E5%BC%8F%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C%EF%BC%8C%E5%A6%82%E5%9F%BA%E4%BA%8E%20tx%20-%20dma%20%E5%92%8C%20rx%20-%20%E4%B8%AD%E6%96%AD%EF%BC%8C%E4%BD%86%E6%88%91%E6%97%A0%E6%B3%95%E5%BC%84%E6%B8%85%E5%A6%82%E4%BD%95%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2259488%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20UART%20TX-DMA%20and%20UART%20RX-Interrupt%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2259488%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F256519%22%20target%3D%22_blank%22%3E%40Vamshi_%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E6%98%AF%E7%9A%84%E3%80%82%E5%A6%82%E5%89%8D%E6%89%80%E8%BF%B0%EF%BC%8C%E9%85%8D%E7%BD%AE%E5%B7%A5%E5%85%B7%E4%B8%8D%E6%94%AF%E6%8C%81%E5%88%86%E7%A6%BB%E9%80%9A%E9%81%93%E3%80%82%E5%AE%83%E6%98%AF%E6%8E%A7%E5%88%B6%E5%99%A8%E4%B8%93%E7%94%A8%E7%9A%84%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E8%AF%9A%E6%8C%9A%E7%9A%84%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EJuli%C3%A1n%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2258640%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20UART%20TX-DMA%20and%20UART%20RX-Interrupt%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2258640%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%EF%BC%8C%E4%BD%86%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E8%BF%99%E6%A0%B7%E5%81%9A%EF%BC%8C%E5%B0%B1%E4%BC%9A%E5%8F%98%E6%88%90%E6%8E%A7%E5%88%B6%E5%99%A8%E4%B8%93%E7%94%A8%E5%90%97%EF%BC%9F%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E