The CRC_Accumulate() function has been called in while loop and the rx_data received as uint8_t and converted into uint32_t and then passed to CRC_accumulate() function in order to calculate the CRC value, but unfortunately the CRC value changes ever...
uint8_t rx_buffer[32], rx_flag, rx_index, rx_data, RxData[32];
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if (huart->Instance==USART1)
{
//if the data is not being received, clear the buffer
if(rx_index ==0)
{
for (int i=0...
I fixed the mistake in the code and now it works perfect!/* USER CODE BEGIN PV */
uint8_t aintialText[] = "\r\nUSART Example\r\n";
uint8_t rx_buffer[RX_BUFFER_SIZE], rx_flag, rx_index, rx_data, error_flag, data_fill;
//CRC Calculation
uint32_t CRCVal...
@MM..1 There is no configuration settings available to set UART data as ASCII or Binary, it should be programmed in the receiver program how to interpret it! There is only option to choose between 8 or 9 bits! So first I have to receive the rx_data ...
@Community member @Muhammed G�ler that means HAL_UART_Receive_IT() can't receive more than 1 character at a time? How I should receive {0x00000000, 0x00000011, 0x000000AA, 0x000000CC, 0x0AEC5781} from a serial terminal? I need it for a modbus commu...
Dear @Guenael Cadier ,I tried to use the aforementioned function, but after using that ReceptionToIdle() function the board wasn't receiving any message from the serial terminal anymore! I am not sure what is wrong here! I implemented exactly same a...