2025-11-04 8:39 PM - last edited on 2025-11-05 12:20 AM by mƎALLEm
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code. Please read this post: How to insert source code.
Hello,
I’m using the STM32F429I-Discovery board and trying to display “Hello World” on Tera Term via USART1 (PA9, PA10).
I configured the project in STM32CubeIDE as follows:
USART1 → Mode: Asynchronous
TX: PA9, RX: PA10
Baudrate: 115200, 8N1, No Flow Control
Using the ST-LINK Virtual COM Port (USB connector CN1)
main.c
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART1_UART_Init();
const char msg[] = "Hello World\r\n";
HAL_UART_Transmit(&huart1, (uint8_t*)msg, sizeof(msg)-1, HAL_MAX_DELAY);
while (1)
{
HAL_UART_Transmit(&huart1, (uint8_t*)"Hello Again\r\n", 13, HAL_MAX_DELAY);
HAL_Delay(1000);
}
However, nothing appears on Tera Term.
The “ST-LINK Virtual COM Port (COMxx)” is visible in the Windows Device Manager, and I’ve selected the correct COM port in Tera Term.
Also, when I checked the PA9 pin with an oscilloscope, there was no signal output.
Has anyone successfully used USART1 on the F429I-Discovery board?
Any advice or examples on how to correctly enable UART output on this board would be greatly appreciated
2025-11-05 12:17 AM
Hello,
Are you sure about the board reference you are using? Is it STM32F429I-Discovery or NUCLEO-F429 board?
When you are talking about USART1 (PA9, PA10) it seems you are using NUCLEO-F429 board.
So please clarify that point.
2025-11-05 2:33 AM - edited 2025-11-05 2:34 AM
@mƎALLEm wrote:When you are talking about USART1 (PA9, PA10) it seems you are using NUCLEO-F429 board.
The 32F429IDISCOVERY manual says they are the correct pins:
via: https://www.st.com/en/evaluation-tools/32f429idiscovery.html#documentation
@chachamaru are you sure that your board hasn't been reconfigured (SB11 and/or SB15)?
Also, are you sure it's actually a STM32F429I-DISC1, not the older STM32F429I-DISCO ?
2025-11-05 2:40 AM - edited 2025-11-05 3:10 AM
@chachamaru wrote:I checked the PA9 pin with an oscilloscope, there was no signal output.
What about PA10 - ie, is stuff transmitted by the PC arriving at the STM32?
(beware that terminal software may buffer stuff)
@chachamaru wrote:Any ... examples on how to correctly enable UART output on this board
Have you tried the ready-made examples in STM32CubeIDE ?
PS:
Are you sure that your code has actually been built and downloaded to the board?
Have you tried stepping it in the debugger?
PPS:
Looking at your code, it has the MX_GPIO_Init() and MX_USART1_UART_Init() as typically generated by CubeMX, but none of the accompanying comments typically generated; eg,
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_SPI2_Init();
MX_TIM6_Init();
MX_USART2_UART_Init();
MX_TIM16_Init();
/* USER CODE BEGIN 2 */
In particular, you have none of the /* USER CODE xxx */ comments - so all of your code will be deleted if you regenerate the project.
Could this be what's happened ... ?
2025-11-05 3:42 AM - edited 2025-11-05 3:42 AM
@Andrew Neil wrote:
Also, are you sure it's actually a STM32F429I-DISC1, not the older STM32F429I-DISCO ?
Need to confirm first if the used board is a DISCO board and NOT a Nucleo board!