[問題] STM32h743 usart 調適問題

作者: redluna (Occlumen)   2019-10-01 12:50:07
使用 cubemx/cubeIDE
之前在 stm32 f429 有做過類似的 work 有成功
但不太確定自己漏掉什麼
用 minicom/CoolTerm 接從板子過來的訊號
設定 115200 8N1,PC 端一點東西都沒有但切成 57600 會有亂碼
有將 HSE_VALUE 調到過 8M hz 也沒有成功
接 PC usb 的電源(應該是 5v)
請問我還有哪些地方需要檢查或是做錯了呢?
感謝大大回覆
以下是 config code
huart3.Instance = USART3;
huart3.Init.BaudRate = 115200;
huart3.Init.WordLength = UART_WORDLENGTH_8B;
huart3.Init.StopBits = UART_STOPBITS_1;
huart3.Init.Parity = UART_PARITY_NONE;
huart3.Init.Mode = UART_MODE_TX_RX;
huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart3.Init.OverSampling = UART_OVERSAMPLING_16;
huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart3.Init.ClockPrescaler = UART_PRESCALER_DIV1;
huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
if (HAL_UART_Init(&huart3) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetTxFifoThreshold(&huart3, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_SetRxFifoThreshold(&huart3, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
{
Error_Handler();
}
if (HAL_UARTEx_DisableFifoMode(&huart3) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN USART3_Init 2 */
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = STLINK_RX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/* UART RX GPIO pin configuration */
GPIO_InitStruct.Pin = STLINK_TX_Pin;
GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
作者: god145145   2019-10-01 17:38:00
先勾示波器看看
作者: suninrain (低潮)   2019-10-02 14:48:00
同意樓上~USART interface characteristics都有符合嗎?Output speed is set to OSPEEDRy[1:0] = 10...那串~
作者: redluna (Occlumen)   2019-10-02 23:13:00
好的我試試看
作者: suninrain (低潮)   2019-10-14 17:17:00
可以考慮把UART吃的頻率output出來看看是不是有符合你的需求~因為後面設定都OK的話也有可能是他用的頻率不是預期的~

Links booklink

Contact Us: admin [ a t ] ucptt.com