Skip to main content
Associate III
June 14, 2025
Solved

uart 2 and uart 3 not transmitting in B-U585I-IOT02A

  • June 14, 2025
  • 2 replies
  • 456 views

HI 

  am using stm32 B-U585I-IOT02A  dev board in that the uart2 and uart3 are not transmitting the data but its receiving the data . I have set PH 13 and PH 15 high also . but Tx is not working only Rx working

my code

Screenshot 2025-06-14 210522.png

in this only hello2 getting in my serial terminal.

Best answer by Karl Yamashita

I have the B-U585I-IOT02A and just tested with USART2. I can get UART2 Tx to work just fine.

I took the STMOD+ and have it on CN3 with Rx and Tx jumped.

I am using VCP (USART1) to receive some string and transmit the string on USART2. Then the callback takes the USART2 string it just received and loops it back to VCP. 

 

PXL_20250615_061900963.MP.jpg

KarlYamashita_0-1749968863502.png

 

I've attached the project that I've just tested with.

 

 

 

 

 

2 replies

Karl Yamashita
Principal
June 14, 2025

PH13 and PH15 do not have UART peripherals.

KarlYamashita_0-1749934932521.png

KarlYamashita_1-1749934992151.png

 

Those pins are used to switch between 1 and 2 on the switcher 

KarlYamashita_2-1749935351217.png

 

Look at the schematic again, you'll see that USART2_TX is PA2 and USART3_TX is PD8

 

If a reply has proven helpful, click on Accept as Solution so that it'll show at top of the post.CAN Jammer an open source CAN bus hacking toolCANableV3 Open Source
shivssAuthor
Associate III
June 15, 2025

Hi @Karl Yamashita 

   PH 13 and 15 are not uart2 and 3 pins yes but need to use that for on board uart2 and 3 to work according to the user manual , used PA2 and PD8 only for Tx 

Screenshot 2025-06-15 074028.png

Karl Yamashita
Principal
June 15, 2025

Sorry, I've misinterpreted your "set" to high, as in pulled-up to high for the Tx pins.

 

If you are receiving on USAT3, then the switcher is configured correctly. So what are you transmitting to?

 

Also, use strlen to send the correct amount of characters.

HAL_UART_Transmit(&huart2, (uint8_t*)"hello\n", strlen("hello\n"), 100) 

 

If a reply has proven helpful, click on Accept as Solution so that it'll show at top of the post.CAN Jammer an open source CAN bus hacking toolCANableV3 Open Source
Karl Yamashita
Karl YamashitaBest answer
Principal
June 15, 2025

I have the B-U585I-IOT02A and just tested with USART2. I can get UART2 Tx to work just fine.

I took the STMOD+ and have it on CN3 with Rx and Tx jumped.

I am using VCP (USART1) to receive some string and transmit the string on USART2. Then the callback takes the USART2 string it just received and loops it back to VCP. 

 

PXL_20250615_061900963.MP.jpg

KarlYamashita_0-1749968863502.png

 

I've attached the project that I've just tested with.

 

 

 

 

 

If a reply has proven helpful, click on Accept as Solution so that it'll show at top of the post.CAN Jammer an open source CAN bus hacking toolCANableV3 Open Source
shivssAuthor
Associate III
June 15, 2025

Hi @Karl Yamashita 

  Thanks for the help