cancel
Showing results for 
Search instead for 
Did you mean: 

NUCLEO-F103RB UART baudrate Error

vgegok
Associate

I used NUCLEO-F103RB (MB1136 Rev C) and X-NUCLEO-NFC03A1 to run the example program in X-CUBE-NFC3. I received data from the serial port using 115200-8N1 and received the following:

 

okcykkykkhht	nkgkkkkfkca{sytcki{s{on	qskkqcnsg

 

Then I used a logic analyzer to detect the speed of the serial port, and after calculation, the actual baud rate was 90909. I received the correct content using the calculated baud rate:

 

Welcome to X-NUCLEO-NFC03A1
Use the User button to cycle among the different modes:
1. Tap a tag to read its content
2. Present a tag to write a Text record
3. Present a tag to write a URI record and an Android Application record
4. Present an ST tag 
to format
In Write or Format mode (menu 2, 3 or 4), the demo returns to Read mode (menu 1) if no tag detected after 10 seconds

1. Tap a tag to read its content

 

 However, the serial port configuration in the example code is 115200:

 

static void MX_USART2_UART_Init(void)
{

  /* USER CODE BEGIN USART2_Init 0 */

  /* USER CODE END USART2_Init 0 */

  /* USER CODE BEGIN USART2_Init 1 */

  /* USER CODE END USART2_Init 1 */
  huart2.Instance = USART2;
  huart2.Init.BaudRate = 115200;
  huart2.Init.WordLength = UART_WORDLENGTH_8B;
  huart2.Init.StopBits = UART_STOPBITS_1;
  huart2.Init.Parity = UART_PARITY_NONE;
  huart2.Init.Mode = UART_MODE_TX_RX;
  huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart2.Init.OverSampling = UART_OVERSAMPLING_16;
  if (HAL_UART_Init(&huart2) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }
  /* USER CODE BEGIN USART2_Init 2 */

  /* USER CODE END USART2_Init 2 */

}

 

I have checked the clock output (MCO) and all jumper resistors from the onboard ST Link and everything is normal. I have also modified the clock configuration, but this issue has persisted. Can someone tell me how to solve the problem of baud rate error.

1 REPLY 1
PGump.1
Senior III

Hi,

For the information you have given, it suggests your usart clock is not right...

Kind regards
Pedro

AI = Artificial Intelligence, NI = No Intelligence, RI = Real Intelligence.