Callback Function in HAL STM32 aktivieren?

OP #5159751
Lesenswert?

Hi,

Es gibt ja diese Callback functions für den IRQ, welche als weak 
definiert sind und man eigentlich in die main übertragen kann. Ich 
möchte also, dass bei einem Uart_Rx_interrupt folgende routine 
aufgerufen wird:
1
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {
2

3
  }

Doch bei mir passiert dies nie, obwohl bei einem Interrupt der 
USART1_IRQHandler() aufgerufen wird. Wie genau muss ich das noch weiter 
initialisieren, so dass meine Callback aktiviert ist?
Gast #5179042
Lesenswert?

Hi,
Do you use this function in your program:
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart,
uint8_t *pData, uint16_t Size);
Do you activate NVIC interrupt for UART?
If no, then your program never reach the callback routine.
Best regards
OP #5182734
Lesenswert?

nico_2010 schrieb:
> Hi,
> Do you use this function in your program:
> HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart,
> uint8_t *pData, uint16_t Size);
> Do you activate NVIC interrupt for UART?
> If no, then your program never reach the callback routine.
> Best regards

Hey, thank you nico_2010, that was indeed the problem. I just used 
__HAL_UART_ENABLE_IT(usart_handler,UART_IT_RXNE);

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren