AnsweredAssumed Answered

PN7362 UART transmission problem

Question asked by thomasbarreto on Jul 3, 2017
Latest reply on Sep 5, 2017 by Giovanni Zani

Hello,

 

I work on a projet with the PN7362. I try to use the Host Interface, as an UART.

I configured it and I succeeded to receive frames via the Rx pin, but I fail to transmit until now.

I know the EOT interrupt is never generated because the callback function is never called.

I look the Tx Init register and i find the goud values into.

Could you help me with this problem? 

 

Initialisation :

phhalHif_Config_t s_ConfigNXP_HSUART;

 

s_ConfigNXP_HSUART.eInterface = E_HIF_HSU; 
s_ConfigNXP_HSUART.sConfig.sHsuConfig.bIsHsuBoot = 0; 
s_ConfigNXP_HSUART.sConfig.sHsuConfig.bEOF = 8; 
s_ConfigNXP_HSUART.sConfig.sHsuConfig.bStopBits = 1; 
s_ConfigNXP_HSUART.sConfig.sHsuConfig.bDummyBytes = 0;
s_ConfigNXP_HSUART.eBufferType = E_BUFFER_FORMAT_FREE; 
s_ConfigNXP_HSUART.bShortFrameLen = 0; 
s_ConfigNXP_HSUART.bStoreErrData = 0; 
s_ConfigNXP_HSUART.bHeaderSize = 0;
s_ConfigNXP_HSUART.bTimeout = 100; 

s_ConfigNXP_HSUART.sConfig.sHsuConfig.bBaudRate = E_HSU_BAUDRATE_38_4K;

 

phhalHif_Init(&s_ConfigNXP_HSUART, (pphhalHif_Callback_t) &Erreur_Init_UART_Interrupt); 

 

Transmission :

 

phStatus_t e = 0;
unsigned char ui_TxBuffer[4] = {'C','H','A','R'};
e = phhalHif_Transmit((uint32_t *)&ui_TxBuffer,sizeof(ui_TxBuffer), (pphhalHif_Callback_t)&ext_SetTxBufferEmptyInterrupt);


if (e == 0x0021)printf("INVALID PARAM");
else if (e== 129)printf("TX ONGOING");
else if (e== 131)printf("TX LOCKED");
else if (e== 133)printf("TX PREFETCH");
else if (e==0x00)printf("SUCCESS");

 

Thank you for your time.

 

Regards

Outcomes