Hi,
We are facing an issue with the uart read after wake up, it is returning junk characters, Ar759x is used, Kindly please suggest a way
following are the code example
#define SERIAL_PORT “/dev/ttyHS0”
#define PARITY ‘N’
#define WORD_SIZE (8)
#define STOP_BIT (1)
#define READ_TIMEOUT (5)
#define HEX_100_VALUE (0x100)
#define INITIAL_VALUE ((uint8_t)0u)
#define MSG_MAX_SIZE (256)
static void serialFdMonitorHandler(int pFd, short pEvents)
{
ssize_t len;
char arr[MSG_MAX_SIZE] = {0};
if (pEvents & POLLIN ){
sprintf(arr,"%s","");
len = read(pFd, arr, sizeof(arr));
arr[len] = '\0';
if(len < 0){
LE_INFO("Failed");
}else{
printf("\n");
printf("Buffer = %s\n", arr);
/* Discards old data in the rx buffer */
tcflush( pFd, TCIFLUSH);
}
}
}
STATUS UartProcess_Init(void_t)
{
STATUS en_resStatus;
/*------------------------------- Opening the Serial Port -------------------------------*/
s32_fd = le_tty_Open(SERIAL_PORT, O_RDWR | O_NOCTTY | O_NDELAY);
if(s32_fd >= 0){
if(LE_OK == le_tty_SetBaudRate(s32_fd, LE_TTY_SPEED_115200)){
/* Set framing on serial port */
/* Parity - No Parity, Word Size - 8 bit, Stop Bit - 1 */
if(LE_OK == le_tty_SetFraming(s32_fd, PARITY, WORD_SIZE, STOP_BIT)){
/* Set flow control option on serial port - None*/
if(LE_OK == le_tty_SetFlowControl(s32_fd, LE_TTY_FLOW_CONTROL_NONE)){
/* Disables conversion of EOL characters, disables local echo, sets character mode, read timeouts */
if(LE_OK == le_tty_SetRaw(s32_fd, MSG_MAX_SIZE, READ_TIMEOUT)){
SerialFdMonitor = le_fdMonitor_Create("SerialPort", s32_fd, serialFdMonitorHandler,POLLIN);
en_resStatus = SUCCESS;
}else{
en_resStatus = FAILURE;
}
}else{
en_resStatus = FAILURE;
}
}else{
en_resStatus = FAILURE;
}
}else{
en_resStatus = FAILURE;
}
}else{
en_resStatus = FAILURE;
}
return en_resStatus;
}
Output :
Buffer = �������������������������������������������������������������������
Buffer = ���������������������������������������������������������������������������������������
Buffer = �������������������������������������������������������������������������������������������