STM32F407 USART Interrupt config

0

¿Es posible habilitar múltiples interrupciones de USART simultáneamente mediante la función CMSIS USART_ITConfig ? Quiero decir, es correcto utilizar USART_ITConfig de esta manera:

USART_ITConfig(USART1,USART_IT_TXE|USART_IT_RXNE,ENABLE)
¿

o debo llamar a la función USART_ITConfig para cada interrupción para habilitar?

    
pregunta Amin

1 respuesta

2

Lee el manual fino

  

USART_IT ,: especifica las fuentes de interrupción de USART para habilitar o inhabilitar. Este parámetro puede ser uno de los siguientes valores :

     
  • USART_IT_CTS: interrupción de cambio de CTS
  •   
  • USART_IT_LBD: Interrupción de detección de interrupción de LIN
  •   
  • USART_IT_TXE: interrupción de registro de datos de transmisión vacío
  •   
  • USART_IT_TC: interrupción completa de la transmisión
  •   
  • USART_IT_RXNE: el registro de datos no es una interrupción vacía
  •   
  • USART_IT_IDLE: interrupción de detección de línea inactiva
  •   
  • USART_IT_PE: interrupción de error de paridad
  •   
  • USART_IT_ERR: interrupción de error (error de trama, error de ruido, error de saturación)
  •   

Así que no intentes ninguna combinación. En cuanto a la fuente de la biblioteca, realmente verifica y rechaza cualquier valor que no esté en la lista, si USE_FULL_ASSERT está habilitado.

Si desea tener un código corto, rápido y fácil de entender, simplemente escriba

USART1->CR1 |= USART_CR1_RXNEIE | USART_CR1_TXEIE; 
    
respondido por el berendi

Lea otras preguntas en las etiquetas