How to implement the full-duplex feature of UART1 on M-Core

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to implement the full-duplex feature of UART1 on M-Core

ソリューションへジャンプ
2,094件の閲覧回数
DylanZhao
Contributor I

1: Uart_AsyncSend and Uart_AsyncReceive interfaces block each other when one of them is transmitting, for example, when I call Uart_AsyncReceive ready to receive the data, the status of UART is UART_STATUS_OPERATION_ONGOING if there is no data input. In this case, Uart_AsyncSend can not work expectedly.

DylanZhao_0-1671419007261.png

2: What should I do to implement full-duplex communication of UART on M-Core, My RTD version is 3.0.2.

Thank you

 

タグ(2)
0 件の賞賛
返信
1 解決策
2,016件の閲覧回数
nxf92355
NXP Employee
NXP Employee

Hi DylanZhao

Hope you are doing well

Sorry for late.  You can use API ->  Linflexd_Uart_Ip_AsyncReceive() which starts data reception from the LINFLEXD module in UART mode with non-blocking method. This enables an a-sync method for receiving data. When used with a non-blocking transmission, the UART driver can perform a full duplex operation. Non-blocking means that the function returns immediately. The application has to get the receive status to know when the receive is complete.

As same you can use API-> Linflexd_Uart_Ip_AsyncSend() which sends data using LINFLEXD module in UART mode with non-blocking method.

I have RTDv4.0.0. you can also refer an example in RTD(v4.0.0) name as  Linflexd_Uart_Ip_Example_S32G274A_M7.

Please refer RTD_UART_UM.pdf @the location (in my RTD v4.0.0)  /NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32XX_4_0_0/RTD/Uart_TS_T40D11M40I0R0/doc/RTD_UART_UM.pdf 

 

Regards

Tushar

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
2,017件の閲覧回数
nxf92355
NXP Employee
NXP Employee

Hi DylanZhao

Hope you are doing well

Sorry for late.  You can use API ->  Linflexd_Uart_Ip_AsyncReceive() which starts data reception from the LINFLEXD module in UART mode with non-blocking method. This enables an a-sync method for receiving data. When used with a non-blocking transmission, the UART driver can perform a full duplex operation. Non-blocking means that the function returns immediately. The application has to get the receive status to know when the receive is complete.

As same you can use API-> Linflexd_Uart_Ip_AsyncSend() which sends data using LINFLEXD module in UART mode with non-blocking method.

I have RTDv4.0.0. you can also refer an example in RTD(v4.0.0) name as  Linflexd_Uart_Ip_Example_S32G274A_M7.

Please refer RTD_UART_UM.pdf @the location (in my RTD v4.0.0)  /NXP/S32DS.3.4/S32DS/software/PlatformSDK_S32XX_4_0_0/RTD/Uart_TS_T40D11M40I0R0/doc/RTD_UART_UM.pdf 

 

Regards

Tushar

0 件の賞賛
返信
2,074件の閲覧回数
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Which example are you using? We are looking into the "Linflexd_Uart_Ip_Example_S32G274A_M7" provided in RTD 3.0.2 HF01 and cannot find the referenced function you are showing.

Please, let us know.

0 件の賞賛
返信
1,281件の閲覧回数
wenyunhao
Contributor II

hello ,

 I have the same question.  can anyone give an example of the usage with mcal and s32k3 ?

0 件の賞賛
返信