add Relazione falsa e inizio file

This commit is contained in:
PanSi21 2026-01-08 14:52:33 +01:00
parent 2775cc2108
commit 3de21f2577
Signed by untrusted user who does not match committer: PanSi21
GPG key ID: 198E46F625BADD13
33 changed files with 5944 additions and 2868 deletions

View file

@ -0,0 +1,10 @@
#pragma once
#include "main.h"
/**
* @brief Funzione per la calibrazione dell'ADC
*
*/
void myADC3_calibration(void);

View file

@ -0,0 +1,11 @@
#pragma once
#include "main.h"
/**
* @brief Funzione per configurazione dei tempi del TIM6
*
*/
void myTIM6_configure(void);
void myTIM6_start();

View file

@ -0,0 +1,15 @@
#pragma once
#include "main.h"
/**
* @brief Funzione per l'inizializzazione della USART3
*
*/
void myUSART3_init(void);
/**
* @brief
*
*/
void myUSART3_it();

View file

@ -2,6 +2,7 @@
#include "main.h"
#include "stm32h743xx.h"
#include "stm32h7xx.h"
#include <stdint.h>
/* Includes ------------------------------------------------------------------*/
@ -13,12 +14,16 @@
*/
#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
#define __prv8 \
__attribute__(( \
deprecated("Questo campo è PRIVATO. Non usarlo. Usa i metodi adatti " \
"alla manipolazione o controlla la tua implementazione"))) const
#define __in_un_altro_file extern;
/**
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).
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
@ -32,36 +37,61 @@
#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
#define MY_DEBUG 1
#define NO_HAL_IT 0 // 0 disable 1 enable
/*
======= bit functions =========
Macro presenti anche in:
Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h
*/
/**
* @brief Imposta a 1 un bit specifico in un byte (SET).
* * Esegue un'operazione OR bit a bit. I bit che erano a 1 rimangono a 1,
* il bit all'indice n viene forzato a 1.
* * @param byte Puntatore al byte da modificare.
* @param n L'indice del bit da impostare (0-7).
*/
static inline void set_bit(uint8_t *byte, uint8_t n) {
*byte = *byte | (1u << n);
}
/**
* @brief Imposta a 0 un bit specifico in un byte (CLEAR).
* * Esegue un AND con una maschera inversa. Il bit all'indice n
* viene forzato a 0, gli altri rimangono invariati.
* * @param byte Puntatore al byte da modificare.
* @param n L'indice del bit da pulire (0-7).
*/
static inline void clear_bit(uint8_t *byte, uint8_t n) {
*byte = *byte & ~(1u << n);
}
/**
* @brief Inverte lo stato di un bit specifico (TOGGLE).
* * Se il bit è 0 diventa 1, se è 1 diventa 0. Usa l'operatore XOR.
* * @param byte Puntatore al byte da modificare.
* @param n L'indice del bit da invertire (0-7).
*/
static inline void toggle_bit(uint8_t *byte, uint8_t n) {
*byte = *byte ^ (1u << n);
}
/**
* @brief Legge lo stato di un bit specifico.
* * @param byte Puntatore al byte (costante, sola lettura).
* @param n L'indice del bit da leggere (0-7).
* @return uint8_t Ritorna diverso da 0 se il bit è 1, oppure 0 se il bit è 0.
* Nota: non ritorna necessariamente "1", ma il valore del bit nella sua posizione (es. 4, 8, 16).
*/
static inline uint8_t read_bit(const uint8_t *byte, uint8_t n) {
return (*byte & (1u << n));
}
// ====== 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 =================
@ -75,4 +105,3 @@ PUBLIC char Pansi_USART3_ReceiveChar(void);
* presenti sulla board.
*/
void MOTD_init(void);