Hello Everyone,
I have implemented FREERTOS CLI using uart on RA4m2. actually i am able to trasnmit using uart interface but unable to receive any command using uart.
I am facing to generate RX interrupt . here is my source code for uart call back function. It is an event based application using thready queue .
Now the same source code using same call back function is working on RA6M3 controller but not on RA4M2.
do i need to specify something
void cli_dbgUartCallback(uart_callback_args_t *p_args) { Event_t event = { .id = EV_NO_EVENT, .payload.u32Arr[0] = 0 }; m_dbgUartEvent = p_args->event; if ((UART_EVENT_RX_CHAR == m_dbgUartEvent) && (m_cmdInProgress == false)) { if (m_bufferIndex < (CMD_BUFFER_SIZE - 1)) { switch (p_args->data) { /* If Enter is pressed by user, send event to process the data */ case '\r': { /* Send command received event */ event.id = EV_DBG_UART_CMD_RCVD; event.payload.u32Arr[0] = (uint32_t)&m_cmdBuffer[0]; evh_handleEvent(&event); /* Set command in progress flag */ m_cmdInProgress = true; /* Clear buffer index */ m_bufferIndex = 0; break; } case '\b': { /* Backspace was pressed. Erase the last character in * the input buffer */ if (m_bufferIndex > 0) { m_bufferIndex--; m_cmdBuffer[m_bufferIndex] = '\0'; } break; } case '\n': /* ignore \n escape */ break; default: { /* Write RX data to input buffer */ m_cmdBuffer[m_bufferIndex++] = (char) p_args->data; break; } } } else { /* Buffer overflow! */ m_bufferIndex = 0; } } }
Hello IK_Renesas,
I found the Problem.
I was using pin configuration for RA4M2 evluation kit but my contrller is R7FA4M2AD3CFM.
I just deleted unwanted pinconfig file and generated g_bsp_pin_cfg base…
Can you pause the program and then check the register values ? They are greyed out when the program is running
This is the vlalues of my sci_uart resistor .
i do not see any problem .
If you do not see no data in RDR it means that there is no data in Receive Shift Register too, because they are transferred automatically from RSR to RDR.
But no data in RSR means that there is no serial data received from the RxD pin. Since this pin is configured correctly as shown above, it is possible that serial data do not arrive to RxD pin.
Can you make sure that that the transmitting device transmits data on P410 line ?
I have checked port config as well as interrupt resistors - seems everything all right.
do you think i might have MCU HW problem.
Is is not evaluation kit but ra4M2 custom board.
Regards,
Bhavin
It is still unclear for me if any data arrive to the RxD pin. Can you make sure that they do ?
If they do, can you see check the RDR register over a period of time ?
Regards
Hi Can you tell mw how can i verify that data is coming on RxD pin ?
The simplest way would be to use a logic analyzer.
If you connect the 2 UART signals to EK-RA6M3 do you see received data ? If yes, that means the data arrive properly.
I dont have logic analyzer. is there another way ?
Do you receive data from the transmitting device with the same connections using EK-RA6M3 ?
Yes, The same program works perfectly fine on RA6m3 evalualtion kit . i recieve correct data from Hterm on Ra6M3 evalualtion kit.
when i tried to run the same program with correct pin configuration on custom RA4M2 hardware,
traansmission from MCU to Hterm works but Hterm to MCU transmission does not work. seems .
UART_EVENT_RX_CHAR event is not happening at all.