UART1 - STM32F373 código C nativo

0

Necesito su ayuda para resolver mi problema al configurar USART1 en STM32F373VCT6. Quiero configurarlo con el código C nativo. mi código de abajo, pero no pasa nada cuando pruebo este código. puedes ayudarme a arreglarlo Aprecio eso.

// enable clock for USART1
RCC->APB2ENR =  RCC_APB2ENR_USART1EN;
// TxD is AFIO
GPIOC->MODER |= BIT8;
// 8 bits Data and  BIT15 means OverSample8 = 1
USART1-> CR1 = USART_WordLength_8b + (BIT15);
// Baudrate  = 9600 with fck = 72Mhz
USART1->BRR |= 0x1D4C;
USART1->CR2 |= USART_StopBits_1;
// enable Transmit
USART1->CR1 |= USART_CR1_TE;

while(!IS_USART_FLAG(USART_FLAG_TXE));
    USART1->TDR = 'a';
    

1 respuesta

0

IS_USART_FLAG() no hace lo que crees que hace.
Deberías estar usando __HAL_USART_GET_FLAG() en su lugar.

IS_USART_FLAG() solo comprueba si lo que se pasa es un tipo válido de bandera USART; no devuelve el estado de esa bandera.
Como su nombre lo indica, __HAL_USART_GET_FLAG() realmente obtiene el estado de la bandera.

    
respondido por el brhans

Lea otras preguntas en las etiquetas