[問題] STM32h743 usart 調適問題

看板ASM (組合語言)作者 (Occlumen)時間4年前 (2019/10/01 12:50), 4年前編輯推噓2(207)
留言9則, 3人參與, 4年前最新討論串1/1
使用 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://www.ptt.cc/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

10/01 17:38, 4年前 , 1F
先勾示波器看看
10/01 17:38, 1F

10/02 14:48, 4年前 , 2F
同意樓上~USART interface characteristics都有符合嗎?
10/02 14:48, 2F

10/02 14:50, 4年前 , 3F
Output speed is set to OSPEEDRy[1:0] = 10...那串~
10/02 14:50, 3F

10/02 23:13, 4年前 , 4F
好的我試試看
10/02 23:13, 4F

10/09 00:06, 4年前 , 5F
後來還是沒有找到原因
10/09 00:06, 5F

10/09 00:06, 4年前 , 6F
但我寫 script 掃不同的 baud rate 就有預期輸出惹
10/09 00:06, 6F

10/14 17:17, 4年前 , 7F
可以考慮把UART吃的頻率output出來看看是不是有符合你
10/14 17:17, 7F

10/14 17:18, 4年前 , 8F
的需求~因為後面設定都OK的話也有可能是他用的頻率不是
10/14 17:18, 8F

10/14 17:18, 4年前 , 9F
預期的~
10/14 17:18, 9F
文章代碼(AID): #1Taji12v (ASM)
文章代碼(AID): #1Taji12v (ASM)