30 lines
1.2 KiB
C
30 lines
1.2 KiB
C
#ifndef MYGPIO_H
|
|
#define MYGPIO_H
|
|
#include "stm32f10x.h"
|
|
|
|
#define In_Floating 0x4 // a completer
|
|
#define In_PullDown 0x8
|
|
#define In_PullUp 0x9
|
|
#define In_Analog 0x0
|
|
#define Out_Ppull 0x2 // deux derniers bits pour regler la vitesse max (due a la valeur de res) (01:10MHz 10:2MHz 11:50MHz)
|
|
#define Out_OD 0x6 // deux derniers bits pour regler la vitesse max (due a la valeur de res) (01:10MHz 10:2MHz 11:50MHz)
|
|
#define AltOut_Ppull 0xA // deux derniers bits pour regler la vitesse max (due a la valeur de res) (01:10MHz 10:2MHz 11:50MHz)
|
|
#define AltOut_OD 0xD // deux derniers bits pour regler la vitesse max (due a la valeur de res) (01:10MHz 10:2MHz 11:50MHz)
|
|
|
|
typedef struct
|
|
{
|
|
GPIO_TypeDef * GPIO ;
|
|
char GPIO_Pin ; // numero de 0 a 15
|
|
char GPIO_Conf ; // voir ci dessous
|
|
} MyGPIO_Struct_TypeDef ;
|
|
|
|
|
|
|
|
void MyGPIO_Init ( MyGPIO_Struct_TypeDef * GPIOStructPtr ) ;
|
|
int MyGPIO_Read ( GPIO_TypeDef * GPIO , char GPIO_Pin ) ; // renvoie 0 ou autre chose different de 0
|
|
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 ) ;
|
|
void MyGPIO_ActiveIT (GPIO_TypeDef * GPIO, char GPIO_Pin, char Prio, void (*IT_function)(void))
|
|
|
|
#endif
|