Init source and header files

This commit is contained in:
Paul Jaulhiac 2023-03-17 12:12:06 +01:00
parent c8239146df
commit e5e0fb0a8a
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,42 @@
#include "stm32f10x.h"
#include "Driver_GPIO.h"
RCC->APB2ENR |= (0x01 << 2) | (0x01 << 3) | (0x01 << 4);
void MyGPIO_Init(MyGPIO_Struct_TypeDef * GPIOStructPtr)
{
if((GPIOStructPtr->GPIO_Pin)>"7")
{
GPIOStructPtr->GPIO->CRH &= ~(0xF<<(GPIOStructPtr->GPIO_Pin%8)*4);
GPIOStructPtr->GPIO->CRH |= (GPIOStructPtr->GPIO_Conf)<<(GPIOStructPtr->GPIO_Pin%8)*4;
}else
{
GPIOStructPtr->GPIO->CRL &= ~(0xF<<(GPIOStructPtr->GPIO_Pin%8)*4);
GPIOStructPtr->GPIO->CRL |= (GPIOStructPtr->GPIO_Conf)<<(GPIOStructPtr->GPIO_Pin%8)*4;
}
}
int MyGPIO_Read (GPIO_TypeDef * GPIO , char GPIO_Pin)
{
return (GPIO<<atoi(GPIO_Pin));
}
void MyGPIO_Set (GPIO_TypeDef * GPIO , char GPIO_Pin)
{
GPIO|=1<<atoi(GPIO_Pin);
}
void MyGPIO_Reset (GPIO_TypeDef * GPIO , char GPIO_Pin);
{
GPIO|=1<<(atoi(GPIO_Pin)+16);
}
void MyGPIO_Toggle (GPIO_TypeDef * GPIO , char GPIO_Pin);
{
GPIO^=1<<atoi(GPIO_Pin);
}

View file

@ -0,0 +1,24 @@
#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 ; // v o i r c i d e s s o u s
}MyGPIO_Struct_TypeDef;
#define In_Floating 0x4
#define InPullDown 0x10
#define In_PullUp 0x11
#define In_Analog 0x0
#define Out_Ppull 0x2
#define Out_OD 0x6
#define AltOut_Ppull 0xA
#define AltOut_OD 0xE
void MyGPIO_Init(MyGPIO_Struct_TypeDef * GPIOStructPtr);
int MyGPIO_Read (GPIO_TypeDef * GPIO , char GPIO_Pin); // r e n v o i e 0 ou a u t r e chose d i f f e r e n t 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);
#endif