/* * pansi.h * * Created on: Nov 13, 2025 * Author: pansi21 */ #ifndef INC_PANSI_H_ #define INC_PANSI_H_ #include "main.h" #include "stm32h743xx.h" #include #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ /** Protezione dal cambiamento e dall'uso non raccomandato. Membri interni della struttura. Rende il membro solo lettura e genera un warning se usato da codice esterno. */ #define __rdon const #define __rdwr #define __prv8 __attribute__(( deprecated("Questo campo è PRIVATO. Non usarlo. Usa i metodi adatti alla manipolazione o controlla la tua implementazione"))) const /** Protezione dal linking esterno. Funzioni e variabili globali in un file .c. Limita la funzione/variabile al solo file in cui è definita (visibilità "privata" al file). */ #define READONLY const #define PUBLIC #define PRIVATE static /// Variabile esterna condivisa con una Interrupt Service Routine. #define EXT_ISR_VAR extern volatile /// Dichiarazione della variabile nel file di definizione (es. .c). #define ISR_VAR volatile /// Variabile globale condivisa ma non usata negli interrupt #define EXT_GLOBAL extern /// MY DEBUG 1 = debug | 0 = no my debug #define MY_DEBUG 1 #define NO_HAL_IT 0 // 0 disable 1 enable // ====== USART ================ /** * @brief Inizializza la periferica USART3. * @note Questa implementazione assume PD8=TX, PD9=RX (AF7). * @param pclk_freq La frequenza del clock della periferica (PCLK1 per USART3). * @param baudRate Il baud rate desiderato (es. 115200). */ PUBLIC void Pansi_USART3_Init(uint32_t pclk_freq, uint32_t baudRate); /** * @brief Invia un singolo carattere su USART3 (bloccante). * @param c Il carattere da inviare. */ PUBLIC void Pansi_USART3_SendChar(char c); /** * @brief Invia una stringa (terminata da null) su USART3. * @param str La stringa da inviare. */ PUBLIC void Pansi_USART3_SendString(const char *str); /** * @brief Riceve un singolo carattere da USART3 (bloccante). * @return Il carattere ricevuto. */ PUBLIC char Pansi_USART3_ReceiveChar(void); // ====== END USART ============ // ====== TIM6 ================= // ====== END TIM6 ============= /** * @brief Funzione di Accensione onBoard * * Permette di far accendere e spegnere contemporaneamente tutti i leg * presenti sulla board. */ void MOTD_init(void); #ifdef __cplusplus } #endif #endif /* INC_PANSI_H_ */