#ifndef DRIVER_GPIO_H #define DRIVER_GPIO_H #include "stm32f10x.h" typedef struct { GPIO_TypeDef * GPIO ; char GPIO_Pin ; //numero de 0 a 15 char GPIO_Conf ; // voir ci dessous } MyGPIO_Struct_TypeDef ; #define In_Floating 0x4 #define In_PullDown 0x8 #define In_PullUp 0x8 #define In_Analog 0x0 #define Out_Ppull 0x2 #define Out_OD 0x6 #define AltOut_Ppull 0xA #define AltOut_OD 0xE /** ************************************************************************************************* * @brief Fonction d'initialisation pour les GPIO * @param -> Paramètre sous forme d’une structure (son adresse) qui défini le pin, le port et la conf du GPIO * @Note -> ************************************************************************************************* */ void MyGPIO_Init ( MyGPIO_Struct_TypeDef * GPIOStructPtr ); /** ************************************************************************************************* * @brief Fonction pour lire l'état de la GPIO * @param : Paramètre sous forme d’une structure (son adresse) qui défini le pin et le port * @return : Renvoie 0 ou autre chose différent de 0 ************************************************************************************************* */ int MyGPIO_Read ( GPIO_TypeDef * GPIO , char GPIO_Pin ); /** ************************************************************************************************* * @brief Fonction pour set le pin voulu * @param -> Paramètre sous forme d’une structure (son adresse) qui défini le pin et le port * @Note -> ************************************************************************************************* */ void MyGPIO_Set ( GPIO_TypeDef * GPIO , char GPIO_Pin ); /** ************************************************************************************************* * @brief Fonction pour reset le pin voulu * @param -> Paramètre sous forme d’une structure (son adresse) qui défini le pin et le port * @Note -> ************************************************************************************************* */ void MyGPIO_Reset ( GPIO_TypeDef * GPIO , char GPIO_Pin ); /** ************************************************************************************************* * @brief Fonction pour toogle le pin voulu * @param -> Paramètre sous forme d’une structure (son adresse) qui défini le pin et le port * @Note -> ************************************************************************************************* */ void MyGPIO_Toggle ( GPIO_TypeDef * GPIO , char GPIO_Pin ) ; #endif