作者redluna (Occlumen)
看板ASM
标题[问题] STM32h743 usart 调适问题
时间Tue Oct 1 12:50:07 2019
使用 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);
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.16.135 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1569905409.A.0B9.html
※ 编辑: redluna (140.112.16.135 台湾), 10/01/2019 12:50:48
※ 编辑: redluna (140.112.16.135 台湾), 10/01/2019 14:23:07
1F:→ god145145: 先勾示波器看看 10/01 17:38
2F:推 suninrain: 同意楼上~USART interface characteristics都有符合吗? 10/02 14:48
3F:→ suninrain: Output speed is set to OSPEEDRy[1:0] = 10...那串~ 10/02 14:50
4F:→ redluna: 好的我试试看 10/02 23:13
5F:→ redluna: 後来还是没有找到原因 10/09 00:06
6F:→ redluna: 但我写 script 扫不同的 baud rate 就有预期输出惹 10/09 00:06
7F:推 suninrain: 可以考虑把UART吃的频率output出来看看是不是有符合你 10/14 17:17
8F:→ suninrain: 的需求~因为後面设定都OK的话也有可能是他用的频率不是 10/14 17:18
9F:→ suninrain: 预期的~ 10/14 17:18