add Relazione falsa e inizio file
This commit is contained in:
parent
2775cc2108
commit
3de21f2577
33 changed files with 5944 additions and 2868 deletions
|
|
@ -0,0 +1,10 @@
|
|||
#pragma once
|
||||
#include "main.h"
|
||||
|
||||
/**
|
||||
* @brief Funzione per la calibrazione dell'ADC
|
||||
*
|
||||
*/
|
||||
void myADC3_calibration(void);
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
#pragma once
|
||||
#include "main.h"
|
||||
|
||||
/**
|
||||
* @brief Funzione per configurazione dei tempi del TIM6
|
||||
*
|
||||
*/
|
||||
void myTIM6_configure(void);
|
||||
|
||||
|
||||
void myTIM6_start();
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
#pragma once
|
||||
|
||||
#include "main.h"
|
||||
|
||||
/**
|
||||
* @brief Funzione per l'inizializzazione della USART3
|
||||
*
|
||||
*/
|
||||
void myUSART3_init(void);
|
||||
|
||||
/**
|
||||
* @brief
|
||||
*
|
||||
*/
|
||||
void myUSART3_it();
|
||||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue