Gast
#4804903
Hallo, ich habe eine grundsätzliche Frage zu den Callback Funktionen der HAL Bibliothek von STM32. Da gibt es zB folgendes: /** * @brief UART MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * - Peripheral's GPIO Configuration * @param huart: UART handle pointer * @retval None */ void HAL_UART_MspInit(UART_HandleTypeDef *huart) In dieser Funktion schreibe ich dann, welche Ports aktiviert werden usw. . Aber was ist, wenn ich zwei UARTs am laufen habe? Dann wird diese Funktion zweimal aufgerufen, ich muss aber jedes mal etwas anderes machen. Wie kann ich unterscheiden, welcher UART die Funktion aufgerufen hat? Der Handle ist ja ein Struct, den kann ich schlecht mit etwas vergleichen, im Sinne von if(UartHandle->instance == UART3) Wie geht man da vor? Hat da jemand Tipps? Oder ist die übliche Vorgehensweise eine ganz andere? Das gleiche Problem sehe ich auch bei: void HAL_UART_ErrorCallback(UART_HandleTypeDef *UartHandle) (Ich benutze ein STM32 Nucleo Board mit OpenSTM32 als IDE und den entsprechenden Beispielen, in denen alle die HAL Bibliotheken verwendeten werden)