IMXRT LPUART non-blocking transfer API makes error handling difficult

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

IMXRT LPUART non-blocking transfer API makes error handling difficult

321件の閲覧回数
nxp16
Contributor III

Hi,

I've been looking at the "transfer" API for LPUART, for interrupt-based non-blocking transfers.  It seems to do a decent job of wrapping all the "happy case" handling of LPUART interrupts, etc, and providing a good high level API for just receiving data when it's ready (i.e. handling IDLE, RX ready, TX complete, etc).  However, it makes handling UART errors very difficult. 

There is no error handling inside the LPUART_TransferHandleIRQ function, and just after that function in fsl_lpuart.c is a bogus empty LPUART_TransferHandleErrorIRQ containing a comment "To be implemented by the user".  This looks completely half-baked.

The only way to actually handle UART errors seems to be to override the default LPUARTx_IRQHandler functions so that instead of calling LPUARTx_RX_DriverIRQHandler (or TX), you'd have to call your own function that handles errors and passes on "happy case" interrupts to the original LPUARTx_RX/TX_DriverIRQHandler so it can call into LPUART_TransferHandleErrorIRQ.

In addition you'd have to enable those error interrupts yourself outside the transfer API by calling LPUART_EnableInterrupts, and in your error handling also call LPUART_DisableInterrupts and deal with clearing them, etc.

This seems like a lot of extra hassle to handle errors.  Why is this not baked into the transfer API itself?

-m

0 件の賞賛
返信
5 返答(返信)

280件の閲覧回数
Habib_MS
NXP Employee
NXP Employee

Hello @nxp16,

Thank you for the detailed feedback. I understand that the SDK could be a little ambiguous since these are intended to provide a common use cases for each peripheral functionality. We are constantly working to improve our APIs thanks also of recommendations like this. Thank you for the recommendations, and we hope that LPUART's error handling will be implemented in future releases.
On the other hand, could you please let me know which specific error conditions you are interested in handling and which device you are using? With that information, I can suggest documentation related to those error conditions that may help with your implementation.

BR
Habib

0 件の賞賛
返信

264件の閲覧回数
nxp16
Contributor III

All possible errors.  This applies to pretty much all peripherals (SPI, I2C, etc) that have a transfer API but no error handling.  LPUART on IMXRT1172 specifically has framing, parity, and noise errors that aren't handled.  Unfortunately right now all these peripherals require some hacking to handle errors when using the transfer API.  I had to override the actual default IRQ handlers to check for errors before calling the SDK handler.

Thanks,

-m

0 件の賞賛
返信

251件の閲覧回数
Habib_MS
NXP Employee
NXP Employee

Hello @nxp16,

I understand that this may require additional development time, sorry for that, we continuing working to improve our SDKs. As a reference, you may review the following structure of the SDK (version 26.6) function called "LPUART_TransferHandleIRQ" and implement a similar recovery flow as your application requires.

Habib_MS_1-1784062752001.png

BR
Habib

0 件の賞賛
返信

242件の閲覧回数
nxp16
Contributor III

Yes, I've already implemented something similar.  Thanks for sending that.

0 件の賞賛
返信

214件の閲覧回数
Habib_MS
NXP Employee
NXP Employee

Hello @nxp16,

Please let me know if you have any further questions.
BR
Habib

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2394386%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMXRT%20LPUART%E3%81%AE%E9%9D%9E%E3%83%96%E3%83%AD%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0%E8%BB%A2%E9%80%81API%E3%81%AF%E3%82%A8%E3%83%A9%E3%83%BC%E5%87%A6%E7%90%86%E3%82%92%E5%9B%B0%E9%9B%A3%E3%81%AB%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2394386%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3E%E7%A7%81%E3%81%AF%E3%80%81%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%83%8E%E3%83%B3%E3%83%96%E3%83%AD%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0%E8%BB%A2%E9%80%81%E3%82%92%E8%A1%8C%E3%81%86%E3%81%9F%E3%82%81%E3%81%AELPUART%E3%81%AE%E3%80%8C%E8%BB%A2%E9%80%81%E3%80%8DAPI%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82LPUART%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%AA%E3%81%A9%E3%81%AE%E3%80%8C%E3%83%8F%E3%83%83%E3%83%94%E3%83%BC%E3%82%B1%E3%83%BC%E3%82%B9%E3%80%8D%E5%87%A6%E7%90%86%E3%82%92%E3%81%86%E3%81%BE%E3%81%8F%E3%83%A9%E3%83%83%E3%83%97%E3%81%97%E3%80%81%E6%BA%96%E5%82%99%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E3%81%A0%E3%81%91%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%97%E4%BF%A1%E3%81%A7%E3%81%8D%E3%82%8B%E8%89%AF%E3%81%84%E9%AB%98%E6%B0%B4%E6%BA%96API%E3%82%92%E6%8F%90%E4%BE%9B%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB%E7%8A%B6%E6%85%8B%E3%80%81%E5%8F%97%E4%BF%A1%E6%BA%96%E5%82%99%E5%AE%8C%E4%BA%86%E3%80%81%E9%80%81%E4%BF%A1%E5%AE%8C%E4%BA%86%E3%81%AA%E3%81%A9%E3%81%AE%E5%87%A6%E7%90%86%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%81%93%E3%82%8C%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6UART%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AE%E5%87%A6%E7%90%86%E3%81%8C%E9%9D%9E%E5%B8%B8%E3%81%AB%E5%9B%B0%E9%9B%A3%E3%81%AB%E3%81%AA%E3%82%8B%E3%80%82%3C%2FP%3E%3CP%3ELPUART_TransferHandleIRQ%E9%96%A2%E6%95%B0%E5%86%85%E3%81%AB%E3%81%AF%E3%82%A8%E3%83%A9%E3%83%BC%E5%87%A6%E7%90%86%E3%81%8C%E3%81%AA%E3%81%8F%E3%80%81fsl_lpuart.c%E3%81%AE%E3%81%9D%E3%81%AE%E9%96%A2%E6%95%B0%E3%81%AE%E7%9B%B4%E5%BE%8C%E3%81%AB%E3%81%AF%E3%80%8C%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E5%AE%9F%E8%A3%85%E3%81%95%E3%82%8C%E3%82%8B%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E5%90%AB%E3%82%80%E5%81%BD%E3%81%AE%E7%A9%BALPUART_TransferHandleErrorIRQ%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E5%AE%8C%E5%85%A8%E3%81%AB%E6%9C%AA%E5%AE%8C%E6%88%90%E3%81%AB%E8%A6%8B%E3%81%88%E3%82%8B%E3%80%82%3C%2FP%3E%3CP%3EUART%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E5%AE%9F%E9%9A%9B%E3%81%AB%E5%87%A6%E7%90%86%E3%81%99%E3%82%8B%E5%94%AF%E4%B8%80%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%AF%E3%80%81%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AELPUARTx_IRQHandler%E9%96%A2%E6%95%B0%E3%82%92%E4%B8%8A%E6%9B%B8%E3%81%8D%E3%81%97%E3%80%81LPUARTx_RX_DriverIRQHandler(%E3%81%BE%E3%81%9F%E3%81%AFTX)%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%E3%80%81%E8%87%AA%E5%88%86%E3%81%A7%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E5%87%A6%E7%90%86%E3%81%97%E3%80%81%E3%80%8C%E3%83%8F%E3%83%83%E3%83%94%E3%83%BCCASE%E3%80%8D%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%82%92%E5%85%83%E3%81%AELPUARTx_RX%2FTX_DriverIRQHandler%E3%81%AB%E6%B8%A1%E3%81%97%E3%81%A6LPUART_TransferHandleErrorIRQ%E3%81%AB%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AE%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%95%E3%82%89%E3%81%AB%E3%80%81%E8%BB%A2%E9%80%81API%E3%81%AE%E5%A4%96%E9%83%A8%E3%81%A7LPUART_EnableInterrupts%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A6%E3%82%A8%E3%83%A9%E3%83%BC%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%82%92%E8%87%AA%E5%88%86%E3%81%A7%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%97%E3%80%81%E3%82%A8%E3%83%A9%E3%83%BC%E5%87%A6%E7%90%86%E3%81%AE%E4%B8%AD%E3%81%A7LPUART_DisableInterrupts%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A6%E3%81%9D%E3%82%8C%E3%82%89%E3%82%92%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%99%E3%82%8B%E3%81%AA%E3%81%A9%E3%81%AE%E5%87%A6%E7%90%86%E3%82%92%E8%A1%8C%E3%81%86%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%A8%E3%83%A9%E3%83%BC%E5%87%A6%E7%90%86%E3%81%AB%E3%81%93%E3%82%8C%E3%81%A0%E3%81%91%E3%81%AE%E6%89%8B%E9%96%93%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E3%81%AE%E3%81%AF%E3%80%81%E3%81%8B%E3%81%AA%E3%82%8A%E9%9D%A2%E5%80%92%E3%81%AA%E4%BD%9C%E6%A5%AD%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E6%80%9D%E3%81%88%E3%82%8B%E3%80%82%E3%81%AA%E3%81%9C%E3%81%93%E3%81%AE%E6%A9%9F%E8%83%BD%E3%81%8C%E8%BB%A2%E9%80%81API%E8%87%AA%E4%BD%93%E3%81%AB%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%EF%BC%9F%3C%2FP%3E%3CP%3E-m%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2394550%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMXRT%20LPUART%20non-blocking%20transfer%20API%20makes%20error%20handling%20difficult%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2394550%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F70127%22%20target%3D%22_blank%22%3E%40nxp16%20%E3%81%95%E3%82%93%3C%2FA%3E%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%A9%B3%E7%B4%B0%E3%81%AA%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%82%92%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82SDK%E3%81%AF%E5%90%84%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E6%A9%9F%E8%83%BD%E3%81%AE%E5%85%B1%E9%80%9A%E3%83%A6%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%82%B9%E3%82%92%E6%8F%90%E4%BE%9B%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%82%82%E3%81%AE%E3%81%AA%E3%81%AE%E3%81%A7%E3%80%81%E5%B0%91%E3%81%97%E6%9B%96%E6%98%A7%E3%81%AA%E9%83%A8%E5%88%86%E3%82%82%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E7%90%86%E8%A7%A3%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%81%94%E6%84%8F%E8%A6%8B%E3%82%82%E5%8F%82%E8%80%83%E3%81%AB%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E3%80%81%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AF%E5%B8%B8%E3%81%ABAPI%E3%81%AE%E6%94%B9%E5%96%84%E3%81%AB%E5%8F%96%E3%82%8A%E7%B5%84%E3%82%93%E3%81%A7%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%94%E6%8F%90%E6%A1%88%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E4%BB%8A%E5%BE%8C%E3%81%AE%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%A7%E3%82%82LPUART%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E5%87%A6%E7%90%86%E3%81%8C%E5%AE%9F%E8%A3%85%E3%81%95%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E9%A1%98%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%E4%B8%80%E6%96%B9%E3%81%A7%E3%80%81%E3%81%A9%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E6%9D%A1%E4%BB%B6%E3%82%92%E6%89%B1%E3%81%84%E3%81%9F%E3%81%84%E3%81%AE%E3%81%8B%E3%80%81%E3%81%A9%E3%81%AE%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B%E6%95%99%E3%81%88%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%81%BE%E3%81%99%E3%81%8B%3F%E3%81%9D%E3%81%AE%E6%83%85%E5%A0%B1%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB%E3%80%81%E5%AE%9F%E8%A3%85%E3%81%AB%E5%BD%B9%E7%AB%8B%E3%81%A4%E3%82%A8%E3%83%A9%E3%83%BC%E6%9D%A1%E4%BB%B6%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E6%8F%90%E6%A1%88%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%3CBR%20%2F%3E%E3%83%8F%E3%83%93%E3%83%96%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2394935%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMXRT%20LPUART%20non-blocking%20transfer%20API%20makes%20error%20handling%20difficult%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2394935%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%80%83%E3%81%88%E3%82%89%E3%82%8C%E3%82%8B%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81%E8%BB%A2%E9%80%81API%E3%81%AF%E3%81%82%E3%82%8B%E3%81%8C%E3%82%A8%E3%83%A9%E3%83%BC%E5%87%A6%E7%90%86%E3%81%8C%E3%81%AA%E3%81%84%E3%81%BB%E3%81%BC%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB(SPI%E3%80%81I2C%E3%81%AA%E3%81%A9)%E3%81%AB%E5%BD%93%E3%81%A6%E3%81%AF%E3%81%BE%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82IMXRT1172%E3%81%AELPUART%E3%81%AB%E3%81%AF%E3%80%81%E7%89%B9%E3%81%AB%E3%83%95%E3%83%AC%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%A8%E3%83%A9%E3%83%BC%E3%80%81%E3%83%91%E3%83%AA%E3%83%86%E3%82%A3%E3%82%A8%E3%83%A9%E3%83%BC%E3%80%81%E3%83%8E%E3%82%A4%E3%82%BA%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81%E3%81%93%E3%82%8C%E3%82%89%E3%81%AF%E9%81%A9%E5%88%87%E3%81%AB%E5%87%A6%E7%90%86%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E6%AE%8B%E5%BF%B5%E3%81%AA%E3%81%8C%E3%82%89%E7%8F%BE%E7%8A%B6%E3%80%81%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%81%AF%E8%BB%A2%E9%80%81API%E4%BD%BF%E7%94%A8%E6%99%82%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E5%87%A6%E7%90%86%E3%81%AB%E3%83%8F%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%99%E3%80%82SDK%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%E3%83%BC%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E5%89%8D%E3%81%AB%E3%80%81%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E5%AE%9F%E9%9A%9B%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AEIRQ%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%E3%82%92%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%81%97%E3%81%AA%E3%81%91%E3%82%8C%E3%81%B0%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E-m%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2395100%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMXRT%20LPUART%20non-blocking%20transfer%20API%20makes%20error%20handling%20difficult%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2395100%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F70127%22%20target%3D%22_blank%22%3E%40nxp16%20%E3%81%95%E3%82%93%3C%2FA%3E%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%BF%BD%E5%8A%A0%E3%81%AE%E9%96%8B%E7%99%BA%E6%9C%9F%E9%96%93%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AB%E3%81%AA%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E7%90%86%E8%A7%A3%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81SDKs%E3%81%AE%E6%94%B9%E5%96%84%E3%81%AB%E5%BC%95%E3%81%8D%E7%B6%9A%E3%81%8D%E5%8F%96%E3%82%8A%E7%B5%84%E3%82%93%E3%81%A7%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E5%8F%82%E8%80%83%E3%81%A8%E3%81%97%E3%81%A6%E3%80%81SDK(%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B326.6)%E3%81%AE%E9%96%A2%E6%95%B0%E3%80%8CLPUART_TransferHandleIRQ%E3%80%8D%E3%81%AE%E6%A7%8B%E9%80%A0%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%80%81%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A8%E3%81%99%E3%82%8B%E9%A1%9E%E4%BC%BC%E3%81%AE%E5%9B%9E%E5%BE%A9%E3%83%95%E3%83%AD%E3%83%BC%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Habib_MS_1-1784062752001.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Habib_MS_1-1784062752001.png%22%20style%3D%22width%3A%20810px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Habib_MS_1-1784062752001.png%22%20style%3D%22width%3A%20810px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Habib_MS_1-1784062752001.png%22%20style%3D%22width%3A%20810px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F392297i1130A2A44C5E0A70%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Habib_MS_1-1784062752001.png%22%20alt%3D%22Habib_MS_1-1784062752001.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EBR%3CBR%20%2F%3E%E3%83%8F%E3%83%93%E3%83%96%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2395601%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMXRT%20LPUART%20non-blocking%20transfer%20API%20makes%20error%20handling%20difficult%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2395601%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F70127%22%20target%3D%22_blank%22%3E%40nxp16%20%E3%81%95%E3%82%93%3C%2FA%3E%E3%80%82%3C%2FP%3E%0A%3CP%3E%E4%BB%96%E3%81%AB%E8%B3%AA%E5%95%8F%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%82%89%E3%80%81%E3%81%8A%E6%B0%97%E8%BB%BD%E3%81%AB%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3CBR%20%2F%3EBR%3CBR%20%2F%3E%E3%83%8F%E3%83%93%E3%83%96%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2395452%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMXRT%20LPUART%20non-blocking%20transfer%20API%20makes%20error%20handling%20difficult%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2395452%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%AF%E3%81%84%E3%80%81%E6%97%A2%E3%81%AB%E4%BC%BC%E3%81%9F%E3%82%88%E3%81%86%E3%81%AA%E3%82%82%E3%81%AE%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E9%80%81%E3%81%A3%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%8D%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E