boat-project/driver-algu/inc/gpio.h

27 lines
724 B
C

#ifndef MYGPIO_H
#define MYGPIO_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 0x7 //faire
#define In_PullUp 0x8 //faire
#define In_Analog 0x0
#define Out_Ppull 0x2
#define Out_OD 0x6
#define AltOut_Ppull 0xA
#define AltOut_OD 0xE
void MyGPIO_InitClock(void);
void MyGPIO_Init(MyGPIO_Struct_TypeDef * GPIOStructPtr);
int MyGPIO_Read(GPIO_TypeDef * GPIO, char GPIO_Pin);
void MyGPIO_Set(GPIO_TypeDef * GPIO, char GPIO_Pin);
void MyGPIO_Reset(GPIO_TypeDef * GPIO, char GPIO_Pin);
void MyGPIO_Toggle(GPIO_TypeDef * GPIO, char GPIO_Pin);
#endif