forked from trocache/RefKEIL
Init source and header files
This commit is contained in:
parent
c8239146df
commit
e5e0fb0a8a
2 changed files with 66 additions and 0 deletions
42
ProjetsKEIL/Drivers/Driver_GPIO.c
Normal file
42
ProjetsKEIL/Drivers/Driver_GPIO.c
Normal 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);
|
||||
}
|
24
ProjetsKEIL/Drivers/Driver_GPIO.h
Normal file
24
ProjetsKEIL/Drivers/Driver_GPIO.h
Normal 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
|
Loading…
Reference in a new issue