STM32H7 HAL_UART_Init вечная блокировка и сбой

Я начал новый проект, используя STM32CubeIDE, который я скачал вчера, и проверка обновлений показывает, что я на последнем месте. Хорошая и простая светодиодная вспышка и привет мир через UART. Используя STM32H753II.

Я использую USART2, настройку асинхронно. Я пробовал с DMA и без него. Заблокируйте мой мигающий код, все автоматически генерируется CubeIDE.

Во всех случаях программа застревает в бесконечном цикле вызова HAL_UART_Init(&huart2) внутри MX_USART2_UART_Init().

Копнув глубже, я обнаружил, что он застревает в HAL_UART_Init(&huart2):

      return (UART_CheckIdleState(huart));

Внутри это в звонке:

      /* Wait until TEACK flag is set */
if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE) != HAL_OK)
{
  /* Timeout occurred */
  return HAL_TIMEOUT;
}

Кажется, что флаг TEACK никогда не сбрасывается. Как ни странно, в комментарии написано SET, а в вызове функции написано RESET. Я не уверен, проблема в этом или нет.

Благодарен, если кто-нибудь может указать мне направление, в котором моя установка идет не так. Я думал, что создать новый проект для создания «привет, мир» было бы несложно!

Примечание; Я знаком с STM32, но подумываю перенести свой проект с TrueStudio.

Ссылка на вопрос на форуме STM32, куда я загрузил проект как вложение.

Редактировать; Я также пробовал UART4 и UART8, проблема не устранена. Аналогично с примером проекта UART_printf в среде IDE.

0 ответов

Другие вопросы по тегам