diff --git a/Logiciel/Firmware_testeur/Drivers/rj45.c b/Logiciel/Firmware_testeur/Drivers/rj45.c index 0a34234e09e03c6dd1b7eb6c89c53431b3e64af9..7102c708d962e7b5cc2c444a4d0eef3a778d35ff 100644 --- a/Logiciel/Firmware_testeur/Drivers/rj45.c +++ b/Logiciel/Firmware_testeur/Drivers/rj45.c @@ -9,97 +9,25 @@ // Fonctions publiques void RJ45_Entree_init (RJ45_Entree* connecteur, -RJ45_Entree_lireBroche_ptr lireBroche1, RJ45_Entree_lireBroche_ptr lireBroche2, -RJ45_Entree_lireBroche_ptr lireBroche3, RJ45_Entree_lireBroche_ptr lireBroche4, -RJ45_Entree_lireBroche_ptr lireBroche5, RJ45_Entree_lireBroche_ptr lireBroche6, -RJ45_Entree_lireBroche_ptr lireBroche7, RJ45_Entree_lireBroche_ptr lireBroche8) { - connecteur->base_ = connecteur; - connecteur->lireBroche1_ = lireBroche1; - connecteur->lireBroche2_ = lireBroche2; - connecteur->lireBroche3_ = lireBroche3; - connecteur->lireBroche4_ = lireBroche4; - connecteur->lireBroche5_ = lireBroche5; - connecteur->lireBroche6_ = lireBroche6; - connecteur->lireBroche7_ = lireBroche7; - connecteur->lireBroche8_ = lireBroche8; + RJ45_Entree_lireBroche_ptr lireBroche) { + connecteur->lireBroche_ = lireBroche; } -RJ45_Etat RJ45_Entree_lireBroche1 (RJ45_Entree* connecteur) { - return connecteur->lireBroche1_(connecteur); +RJ45_Etat RJ45_Entree_lireBroche (RJ45_Entree* connecteur, int numeroBroche) { + return connecteur->lireBroche_(connecteur, numeroBroche); } -RJ45_Etat RJ45_Entree_lireBroche2 (RJ45_Entree* connecteur) { - return connecteur->lireBroche2_(connecteur); -} -RJ45_Etat RJ45_Entree_lireBroche3 (RJ45_Entree* connecteur) { - return connecteur->lireBroche3_(connecteur); -} - -RJ45_Etat RJ45_Entree_lireBroche4 (RJ45_Entree* connecteur) { - return connecteur->lireBroche4_(connecteur); -} - -RJ45_Etat RJ45_Entree_lireBroche5 (RJ45_Entree* connecteur) { - return connecteur->lireBroche5_(connecteur); -} - -RJ45_Etat RJ45_Entree_lireBroche6 (RJ45_Entree* connecteur) { - return connecteur->lireBroche6_(connecteur); -} - -RJ45_Etat RJ45_Entree_lireBroche7 (RJ45_Entree* connecteur) { - return connecteur->lireBroche7_(connecteur); -} - -RJ45_Etat RJ45_Entree_lireBroche8 (RJ45_Entree* connecteur) { - return connecteur->lireBroche8_(connecteur); -} - void RJ45_Sortie_init (RJ45_Sortie* connecteur, -RJ45_Sortie_ecrireBroche_ptr ecrireBroche1, RJ45_Sortie_ecrireBroche_ptr ecrireBroche2, -RJ45_Sortie_ecrireBroche_ptr ecrireBroche3, RJ45_Sortie_ecrireBroche_ptr ecrireBroche4, -RJ45_Sortie_ecrireBroche_ptr ecrireBroche5, RJ45_Sortie_ecrireBroche_ptr ecrireBroche6, -RJ45_Sortie_ecrireBroche_ptr ecrireBroche7, RJ45_Sortie_ecrireBroche_ptr ecrireBroche8) { - connecteur->base_ = connecteur; - connecteur->ecrireBroche1_ = ecrireBroche1; - connecteur->ecrireBroche2_ = ecrireBroche2; - connecteur->ecrireBroche3_ = ecrireBroche3; - connecteur->ecrireBroche4_ = ecrireBroche4; - connecteur->ecrireBroche5_ = ecrireBroche5; - connecteur->ecrireBroche6_ = ecrireBroche6; - connecteur->ecrireBroche7_ = ecrireBroche7; - connecteur->ecrireBroche8_ = ecrireBroche8; + RJ45_Sortie_ecrireBroche_ptr ecrireBroche) { + connecteur->ecrireBroche_ = ecrireBroche; } -void RJ45_Sortie_ecrireBroche1 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique) { - connecteur->ecrireBroche1_(connecteur, niveauLogique); +void RJ45_Sortie_ecrireBroche (RJ45_Sortie* connecteur, int numeroBroche, RJ45_Etat niveauLogique) { + connecteur->ecrireBroche_(connecteur, numeroBroche, niveauLogique); } -void RJ45_Sortie_ecrireBroche2 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique) { - connecteur->ecrireBroche2_(connecteur, niveauLogique); +void RJ45_Sortie_ecrireToutesBroches(RJ45_Sortie* connecteur, RJ45_Etat niveauLogique) { + for (int i=0; i<RJ45_N_BROCHES; i++) { + connecteur->ecrireBroche_(connecteur, i, niveauLogique); + } } - -void RJ45_Sortie_ecrireBroche3 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique) { - connecteur->ecrireBroche3_(connecteur, niveauLogique); -} - -void RJ45_Sortie_ecrireBroche4 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique) { - connecteur->ecrireBroche4_(connecteur, niveauLogique); -} - -void RJ45_Sortie_ecrireBroche5 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique) { - connecteur->ecrireBroche5_(connecteur, niveauLogique); -} - -void RJ45_Sortie_ecrireBroche6 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique) { - connecteur->ecrireBroche6_(connecteur, niveauLogique); -} - -void RJ45_Sortie_ecrireBroche7 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique) { - connecteur->ecrireBroche7_(connecteur, niveauLogique); -} - -void RJ45_Sortie_ecrireBroche8 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique) { - connecteur->ecrireBroche8_(connecteur, niveauLogique); -} - diff --git a/Logiciel/Firmware_testeur/Drivers/rj45.h b/Logiciel/Firmware_testeur/Drivers/rj45.h index 89340d9cf558c6536dd4b0decf23d86759a540a2..1a2acce4d03b1e555014eafdd0bbaf85bf617db6 100644 --- a/Logiciel/Firmware_testeur/Drivers/rj45.h +++ b/Logiciel/Firmware_testeur/Drivers/rj45.h @@ -8,6 +8,17 @@ #ifndef RJ45_H_ #define RJ45_H_ +// Constantes +#define RJ45_N_BROCHES 8 +#define RJ45_BR_1 0 +#define RJ45_BR_2 1 +#define RJ45_BR_3 2 +#define RJ45_BR_4 3 +#define RJ45_BR_5 4 +#define RJ45_BR_6 5 +#define RJ45_BR_7 6 +#define RJ45_BR_8 7 + // États logiques typedef enum { RJ45_BAS = 0, @@ -16,63 +27,26 @@ typedef enum { } RJ45_Etat; // Pointeurs de fonctions abstraites -typedef RJ45_Etat (*RJ45_Entree_lireBroche_ptr) (void*); -typedef void (*RJ45_Sortie_ecrireBroche_ptr) (void*, RJ45_Etat niveauLogique); +typedef RJ45_Etat (*RJ45_Entree_lireBroche_ptr ) (void*, int numeroBroche); +typedef void (*RJ45_Sortie_ecrireBroche_ptr) (void*, int numeroBroche, RJ45_Etat niveauLogique); // Structures typedef struct { - void* base_; - RJ45_Entree_lireBroche_ptr lireBroche1_; - RJ45_Entree_lireBroche_ptr lireBroche2_; - RJ45_Entree_lireBroche_ptr lireBroche3_; - RJ45_Entree_lireBroche_ptr lireBroche4_; - RJ45_Entree_lireBroche_ptr lireBroche5_; - RJ45_Entree_lireBroche_ptr lireBroche6_; - RJ45_Entree_lireBroche_ptr lireBroche7_; - RJ45_Entree_lireBroche_ptr lireBroche8_; + RJ45_Entree_lireBroche_ptr lireBroche_; } RJ45_Entree; typedef struct { - void* base_; - RJ45_Sortie_ecrireBroche_ptr ecrireBroche1_; - RJ45_Sortie_ecrireBroche_ptr ecrireBroche2_; - RJ45_Sortie_ecrireBroche_ptr ecrireBroche3_; - RJ45_Sortie_ecrireBroche_ptr ecrireBroche4_; - RJ45_Sortie_ecrireBroche_ptr ecrireBroche5_; - RJ45_Sortie_ecrireBroche_ptr ecrireBroche6_; - RJ45_Sortie_ecrireBroche_ptr ecrireBroche7_; - RJ45_Sortie_ecrireBroche_ptr ecrireBroche8_; + RJ45_Sortie_ecrireBroche_ptr ecrireBroche_; } RJ45_Sortie; // Fonctions publiques void RJ45_Entree_init (RJ45_Entree* connecteur, - RJ45_Entree_lireBroche_ptr lireBroche1, RJ45_Entree_lireBroche_ptr lireBroche2, - RJ45_Entree_lireBroche_ptr lireBroche3, RJ45_Entree_lireBroche_ptr lireBroche4, - RJ45_Entree_lireBroche_ptr lireBroche5, RJ45_Entree_lireBroche_ptr lireBroche6, - RJ45_Entree_lireBroche_ptr lireBroche7, RJ45_Entree_lireBroche_ptr lireBroche8); - -RJ45_Etat RJ45_Entree_lireBroche1 (RJ45_Entree* connecteur); -RJ45_Etat RJ45_Entree_lireBroche2 (RJ45_Entree* connecteur); -RJ45_Etat RJ45_Entree_lireBroche3 (RJ45_Entree* connecteur); -RJ45_Etat RJ45_Entree_lireBroche4 (RJ45_Entree* connecteur); -RJ45_Etat RJ45_Entree_lireBroche5 (RJ45_Entree* connecteur); -RJ45_Etat RJ45_Entree_lireBroche6 (RJ45_Entree* connecteur); -RJ45_Etat RJ45_Entree_lireBroche7 (RJ45_Entree* connecteur); -RJ45_Etat RJ45_Entree_lireBroche8 (RJ45_Entree* connecteur); + RJ45_Entree_lireBroche_ptr lireBroche); +RJ45_Etat RJ45_Entree_lireBroche (RJ45_Entree* connecteur, int numeroBroche); void RJ45_Sortie_init (RJ45_Sortie* connecteur, - RJ45_Sortie_ecrireBroche_ptr ecrireBroche1, RJ45_Sortie_ecrireBroche_ptr ecrireBroche2, - RJ45_Sortie_ecrireBroche_ptr ecrireBroche3, RJ45_Sortie_ecrireBroche_ptr ecrireBroche4, - RJ45_Sortie_ecrireBroche_ptr ecrireBroche5, RJ45_Sortie_ecrireBroche_ptr ecrireBroche6, - RJ45_Sortie_ecrireBroche_ptr ecrireBroche7, RJ45_Sortie_ecrireBroche_ptr ecrireBroche8); - -void RJ45_Sortie_ecrireBroche1 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_ecrireBroche2 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_ecrireBroche3 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_ecrireBroche4 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_ecrireBroche5 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_ecrireBroche6 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_ecrireBroche7 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_ecrireBroche8 (RJ45_Sortie* connecteur, RJ45_Etat niveauLogique); + RJ45_Sortie_ecrireBroche_ptr ecrireBroche); +void RJ45_Sortie_ecrireBroche (RJ45_Sortie* connecteur, int numeroBroche, RJ45_Etat niveauLogique); +void RJ45_Sortie_ecrireToutesBroches(RJ45_Sortie* connecteur, RJ45_Etat niveauLogique); #endif /* RJ45_H_ */ diff --git a/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.c b/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.c index 48e9e31d6cfdf55c22638fd8c14e598ea9179582..9a82a209fa8573bfe03cf8c5f94febad8619e40b 100644 --- a/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.c +++ b/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.c @@ -6,7 +6,7 @@ */ #include "rj45_port_stm32f071v8.h" -#include "main.h" +#include <string.h> // Fonctions privées RJ45_Etat convertirGPIO_PinState (GPIO_PinState etatBroche) { @@ -33,87 +33,33 @@ GPIO_PinState convertirRJ45_Etat (RJ45_Etat niveauLogique) { // Fonctions publiques -void RJ45_Entree_Port_init (RJ45_Entree_Port* connecteur) { - RJ45_Entree base[1]; - RJ45_Entree_init(base, (void*) RJ45_Entree_Port_lireBroche1, - (void*) RJ45_Entree_Port_lireBroche2, - (void*) RJ45_Entree_Port_lireBroche3, - (void*) RJ45_Entree_Port_lireBroche4, - (void*) RJ45_Entree_Port_lireBroche5, - (void*) RJ45_Entree_Port_lireBroche6, - (void*) RJ45_Entree_Port_lireBroche7, - (void*) RJ45_Entree_Port_lireBroche8); -} - -RJ45_Etat RJ45_Entree_Port_lireBroche1 (RJ45_Entree_Port* connecteur) { - return convertirGPIO_PinState( HAL_GPIO_ReadPin(ETHB_1_GPIO_Port, ETHB_1_Pin) ); -} +void RJ45_Entree_Port_init (RJ45_Entree_Port* connecteur, + GPIO_TypeDef** ports, uint16_t* broches) { + RJ45_Entree_init(&(connecteur->base_), (void*) RJ45_Entree_Port_lireBroche); -RJ45_Etat RJ45_Entree_Port_lireBroche2 (RJ45_Entree_Port* connecteur) { - return convertirGPIO_PinState( HAL_GPIO_ReadPin(ETHB_2_GPIO_Port, ETHB_2_Pin) ); -} -RJ45_Etat RJ45_Entree_Port_lireBroche3 (RJ45_Entree_Port* connecteur) { - return convertirGPIO_PinState( HAL_GPIO_ReadPin(ETHB_3_GPIO_Port, ETHB_3_Pin) ); + memcpy(connecteur->ports_, ports, RJ45_N_BROCHES*sizeof(*ports)); + memcpy(connecteur->broches_, broches, RJ45_N_BROCHES*sizeof(*broches)); } -RJ45_Etat RJ45_Entree_Port_lireBroche4 (RJ45_Entree_Port* connecteur) { - return convertirGPIO_PinState( HAL_GPIO_ReadPin(ETHB_4_GPIO_Port, ETHB_4_Pin) ); -} -RJ45_Etat RJ45_Entree_Port_lireBroche5 (RJ45_Entree_Port* connecteur) { - return convertirGPIO_PinState( HAL_GPIO_ReadPin(ETHB_5_GPIO_Port, ETHB_5_Pin) ); +RJ45_Etat RJ45_Entree_Port_lireBroche (RJ45_Entree_Port* connecteur, int numeroBroche) { + return convertirGPIO_PinState( HAL_GPIO_ReadPin(connecteur->ports_[numeroBroche], + connecteur->broches_[numeroBroche]) ); } -RJ45_Etat RJ45_Entree_Port_lireBroche6 (RJ45_Entree_Port* connecteur) { - return convertirGPIO_PinState( HAL_GPIO_ReadPin(ETHB_6_GPIO_Port, ETHB_6_Pin) ); -} -RJ45_Etat RJ45_Entree_Port_lireBroche7 (RJ45_Entree_Port* connecteur) { - return convertirGPIO_PinState( HAL_GPIO_ReadPin(ETHB_7_GPIO_Port, ETHB_7_Pin) ); -} - -RJ45_Etat RJ45_Entree_Port_lireBroche8 (RJ45_Entree_Port* connecteur) { - return convertirGPIO_PinState( HAL_GPIO_ReadPin(ETHB_8_GPIO_Port, ETHB_8_Pin) ); -} - -void RJ45_Sortie_Port_init (RJ45_Sortie_Port* connecteur) { - RJ45_Sortie base[1]; - RJ45_Sortie_init(base, (void*) RJ45_Sortie_Port_ecrireBroche1, - (void*) RJ45_Sortie_Port_ecrireBroche2, - (void*) RJ45_Sortie_Port_ecrireBroche3, - (void*) RJ45_Sortie_Port_ecrireBroche4, - (void*) RJ45_Sortie_Port_ecrireBroche5, - (void*) RJ45_Sortie_Port_ecrireBroche6, - (void*) RJ45_Sortie_Port_ecrireBroche7, - (void*) RJ45_Sortie_Port_ecrireBroche8); -} - -void RJ45_Sortie_Port_ecrireBroche1 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique) { - HAL_GPIO_WritePin(ETHA_1_GPIO_Port, ETHA_1_Pin, convertirRJ45_Etat(niveauLogique)); -} - -void RJ45_Sortie_Port_ecrireBroche2 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique) { - HAL_GPIO_WritePin(ETHA_2_GPIO_Port, ETHA_2_Pin, convertirRJ45_Etat(niveauLogique)); -} - -void RJ45_Sortie_Port_ecrireBroche3 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique) { - HAL_GPIO_WritePin(ETHA_3_GPIO_Port, ETHA_3_Pin, convertirRJ45_Etat(niveauLogique)); -} - -void RJ45_Sortie_Port_ecrireBroche4 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique) { - HAL_GPIO_WritePin(ETHA_4_GPIO_Port, ETHA_4_Pin, convertirRJ45_Etat(niveauLogique)); -} - -void RJ45_Sortie_Port_ecrireBroche5 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique) { - HAL_GPIO_WritePin(ETHA_5_GPIO_Port, ETHA_5_Pin, convertirRJ45_Etat(niveauLogique)); -} +void RJ45_Sortie_Port_init (RJ45_Sortie_Port* connecteur, + GPIO_TypeDef** ports, uint16_t* broches) { + RJ45_Sortie_init(&(connecteur->base_), (void*) RJ45_Sortie_Port_ecrireBroche); -void RJ45_Sortie_Port_ecrireBroche6 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique) { - HAL_GPIO_WritePin(ETHA_6_GPIO_Port, ETHA_6_Pin, convertirRJ45_Etat(niveauLogique)); + memcpy(connecteur->ports_, ports, RJ45_N_BROCHES*sizeof(*ports)); + memcpy(connecteur->broches_, broches, RJ45_N_BROCHES*sizeof(*broches)); } -void RJ45_Sortie_Port_ecrireBroche7 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique) { - HAL_GPIO_WritePin(ETHA_7_GPIO_Port, ETHA_7_Pin, convertirRJ45_Etat(niveauLogique)); +void RJ45_Sortie_Port_ecrireBroche (RJ45_Sortie_Port* connecteur, int numeroBroche, + RJ45_Etat niveauLogique) { + HAL_GPIO_WritePin(connecteur->ports_[numeroBroche], connecteur->broches_[numeroBroche], + convertirRJ45_Etat(niveauLogique)); } -void RJ45_Sortie_Port_ecrireBroche8 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique) { - HAL_GPIO_WritePin(ETHA_8_GPIO_Port, ETHA_8_Pin, convertirRJ45_Etat(niveauLogique)); +void RJ45_Sortie_Port_ecrireToutesBroches (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique) { + RJ45_Sortie_ecrireToutesBroches(&(connecteur->base_), niveauLogique); } diff --git a/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.h b/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.h index 3be9a2202dad0de51d3f45711e75a3ec97117ccf..bdb7c69489191a08589524b9c367743770c8ecf0 100644 --- a/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.h +++ b/Logiciel/Firmware_testeur/Drivers/rj45_port_stm32f071v8.h @@ -9,37 +9,30 @@ #define RJ45_PORT_STM32F071V8_H_ #include "rj45.h" +#include "main.h" // Structures typedef struct { - RJ45_Entree* base_; + RJ45_Entree base_; + GPIO_TypeDef* ports_ [RJ45_N_BROCHES]; + uint16_t broches_[RJ45_N_BROCHES]; } RJ45_Entree_Port; typedef struct { - RJ45_Sortie* base_; + RJ45_Sortie base_; + GPIO_TypeDef* ports_ [RJ45_N_BROCHES]; + uint16_t broches_[RJ45_N_BROCHES]; } RJ45_Sortie_Port; // Fonctions publiques -void RJ45_Entree_Port_init (RJ45_Entree_Port* connecteur); - -RJ45_Etat RJ45_Entree_Port_lireBroche1 (RJ45_Entree_Port* connecteur); -RJ45_Etat RJ45_Entree_Port_lireBroche2 (RJ45_Entree_Port* connecteur); -RJ45_Etat RJ45_Entree_Port_lireBroche3 (RJ45_Entree_Port* connecteur); -RJ45_Etat RJ45_Entree_Port_lireBroche4 (RJ45_Entree_Port* connecteur); -RJ45_Etat RJ45_Entree_Port_lireBroche5 (RJ45_Entree_Port* connecteur); -RJ45_Etat RJ45_Entree_Port_lireBroche6 (RJ45_Entree_Port* connecteur); -RJ45_Etat RJ45_Entree_Port_lireBroche7 (RJ45_Entree_Port* connecteur); -RJ45_Etat RJ45_Entree_Port_lireBroche8 (RJ45_Entree_Port* connecteur); - -void RJ45_Sortie_Port_init (RJ45_Sortie_Port* connecteur); - -void RJ45_Sortie_Port_ecrireBroche1 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_Port_ecrireBroche2 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_Port_ecrireBroche3 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_Port_ecrireBroche4 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_Port_ecrireBroche5 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_Port_ecrireBroche6 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_Port_ecrireBroche7 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique); -void RJ45_Sortie_Port_ecrireBroche8 (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique); +void RJ45_Entree_Port_init (RJ45_Entree_Port* connecteur, + GPIO_TypeDef** ports, uint16_t* broches); +RJ45_Etat RJ45_Entree_Port_lireBroche (RJ45_Entree_Port* connecteur, int numeroBroche); + +void RJ45_Sortie_Port_init (RJ45_Sortie_Port* connecteur, + GPIO_TypeDef** ports, uint16_t* broches); +void RJ45_Sortie_Port_ecrireBroche (RJ45_Sortie_Port* connecteur, int numeroBroche, + RJ45_Etat niveauLogique); +void RJ45_Sortie_Port_ecrireToutesBroches (RJ45_Sortie_Port* connecteur, RJ45_Etat niveauLogique); #endif /* RJ45_PORT_STM32F071V8_H_ */