ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
1005046
RxTx (16.05.2020 16:49, просмотров: 50939)
STM32 UART работает со сбоями. Проект/код сгенерен в CUBEMX 

115200/8/N


Посылаю:

info

info

info

итд (много раз)



В SWO логе вижу:

info

iifo

infi

info

ifo

iinfo

i

iinfoio


Код прерывания:

void USART1_IRQHandler(void)
{
    //HAL_UART_IRQHandler(&huart1);
    unsigned int status;
    unsigned char data;
    status = USART1->SR;
    if ((status & USART_SR_RXNE) == USART_SR_RXNE)
    {
        data = USART1->DR;
        ITM_SendChar(data);
    }
}



Код инита:

static void MX_USART1_UART_Init(void)
{
  huart1.Instance = USART1;
  huart1.Init.BaudRate = 115200;
  huart1.Init.WordLength = UART_WORDLENGTH_8B;
  huart1.Init.StopBits = UART_STOPBITS_1;
  huart1.Init.Parity = UART_PARITY_NONE;
  huart1.Init.Mode = UART_MODE_TX_RX;
  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
  if (HAL_UART_Init(&huart1) != HAL_OK)
    Error_Handler();
}


На пин приходит нормальный сигнал.

В чем может быть проблема?

Спасибо, князь. Вы настоящий дворянин. И программист.