64 lines
2.5 KiB
C
64 lines
2.5 KiB
C
#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<61>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'<27>tat de la GPIO
|
||
* @param : Param<61>tre sous forme d<>une structure (son adresse) qui d<>fini le pin et le port
|
||
* @return : Renvoie 0 ou autre chose diff<66>rent de 0
|
||
*************************************************************************************************
|
||
*/
|
||
int MyGPIO_Read ( GPIO_TypeDef * GPIO , char GPIO_Pin );
|
||
|
||
/**
|
||
*************************************************************************************************
|
||
* @brief Fonction pour set le pin voulu
|
||
* @param -> Param<61>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<61>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<61>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
|