forked from trocache/RefKEIL
42 lines
No EOL
899 B
C
42 lines
No EOL
899 B
C
#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);
|
|
} |