📄 stm32f10x_gpio.h
字号:
/* GPIO Pin sources ----------------------------------------------------------*/
#define GPIO_PinSource0 ((u8)0x00)
#define GPIO_PinSource1 ((u8)0x01)
#define GPIO_PinSource2 ((u8)0x02)
#define GPIO_PinSource3 ((u8)0x03)
#define GPIO_PinSource4 ((u8)0x04)
#define GPIO_PinSource5 ((u8)0x05)
#define GPIO_PinSource6 ((u8)0x06)
#define GPIO_PinSource7 ((u8)0x07)
#define GPIO_PinSource8 ((u8)0x08)
#define GPIO_PinSource9 ((u8)0x09)
#define GPIO_PinSource10 ((u8)0x0A)
#define GPIO_PinSource11 ((u8)0x0B)
#define GPIO_PinSource12 ((u8)0x0C)
#define GPIO_PinSource13 ((u8)0x0D)
#define GPIO_PinSource14 ((u8)0x0E)
#define GPIO_PinSource15 ((u8)0x0F)
#define IS_GPIO_PIN_SOURCE(PINSOURCE) ((PINSOURCE == GPIO_PinSource0) || \
(PINSOURCE == GPIO_PinSource1) || \
(PINSOURCE == GPIO_PinSource2) || \
(PINSOURCE == GPIO_PinSource3) || \
(PINSOURCE == GPIO_PinSource4) || \
(PINSOURCE == GPIO_PinSource5) || \
(PINSOURCE == GPIO_PinSource6) || \
(PINSOURCE == GPIO_PinSource7) || \
(PINSOURCE == GPIO_PinSource8) || \
(PINSOURCE == GPIO_PinSource9) || \
(PINSOURCE == GPIO_PinSource10) || \
(PINSOURCE == GPIO_PinSource11) || \
(PINSOURCE == GPIO_PinSource12) || \
(PINSOURCE == GPIO_PinSource13) || \
(PINSOURCE == GPIO_PinSource14) || \
(PINSOURCE == GPIO_PinSource15))
/* ADD LIU ------------------------------------------------------------*/
#define Out_PP 0x00 //推挽输出
#define Out_OD 0x44444444 //开漏输出
#define AF_PP 0x88888888 //复用推挽输出
#define AF_OD 0xCCCCCCCC //复用开漏输出 H_2BIT
#define Speed_10M 0x11111111//01 Max. output speed 10 MHz L_2BIT
#define Speed_2M 0x22222222//10 Max. output speed 2 MHz
#define Speed_50M 0x33333333//11 Max. output speed 50 MHz
#define Analog_input 0X00//0000模拟输入
#define IN_Floating 0x44444444//0100浮空输入
#define Pull_down 0x88888888//1000下拉输入 PXODR=0
#define Pull_up 0x88888888//1000上拉输入 PXODR=1
#define GPIO_0M ((u32)0x0000000f)
#define GPIO_1M ((u32)0x000000f0)
#define GPIO_2M ((u32)0x00000f00)
#define GPIO_3M ((u32)0x0000f000)
#define GPIO_4M ((u32)0x000f0000)
#define GPIO_5M ((u32)0x00f00000)
#define GPIO_6M ((u32)0x0f000000)
#define GPIO_7M ((u32)0xf0000000)
#define GPIO_8M ((u32)0x0000000f)
#define GPIO_9M ((u32)0x000000f0)
#define GPIO_10M ((u32)0x00000f00)
#define GPIO_11M ((u32)0x0000f000)
#define GPIO_12M ((u32)0x000f0000)
#define GPIO_13M ((u32)0x00f00000)
#define GPIO_14M ((u32)0x0f000000)
#define GPIO_15M ((u32)0xf0000000)
#define GPIO_ALLM ((u32)0xffffffff)
#define IS_GPIO_MODE_SOURCE(PINSOURCE) ((PINSOURCE == GPIO_0M) || \
(PINSOURCE == GPIO_1M) || \
(PINSOURCE == GPIO_2M) || \
(PINSOURCE == GPIO_3M) || \
(PINSOURCE == GPIO_4M) || \
(PINSOURCE == GPIO_5M) || \
(PINSOURCE == GPIO_6M) || \
(PINSOURCE == GPIO_7M) || \
(PINSOURCE == GPIO_8M) || \
(PINSOURCE == GPIO_9M) || \
(PINSOURCE == GPIO_10M) || \
(PINSOURCE == GPIO_11M) || \
(PINSOURCE == GPIO_12M) || \
(PINSOURCE == GPIO_13M) || \
(PINSOURCE == GPIO_14M) || \
(PINSOURCE == GPIO_15M) || \
(PINSOURCE == GPIO_ALLM))
/*读取指定端口管脚的输入*/
#define GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) (GPIOx->IDR & GPIO_Pin)
/*读取指定的 GPIO端口输入 */
#define GPIO_ReadInputData(GPIOx) ((u16)GPIOx->IDR)
/*读取指定端口管脚的输出*/
#define GPIO_ReadOutputDataBit(GPIOx, GPIO_Pin) (GPIOx->ODR & GPIO_Pin)
/*读取指定的 GPIO端口输出 */
#define ReadOutputData(GPIOx) ((u16)GPIOx->ODR)
/*设置指定的数据端口位 */
#define GPIO_SetBits(GPIOx, GPIO_Pin) GPIOx->BSRR = GPIO_Pin
/*清除指定的数据端口位 */
#define GPIO_ResetBits(GPIOx, GPIO_Pin) GPIOx->BRR = GPIO_Pin
/*向指定 GPIO 数据端口写入数据 */
#define GPIO_Write(GPIOx, PortVal) GPIOx->ODR = (u16)PortVal
/*根据 GPIO_InitStruct中指定的参数初始化外设 GPIOx 寄存器 X=8-15*/
void GPIO_MODEH(GPIO_TypeDef* GPIOx, u32 GPIO_MODE,u32 PortVal);//
/* 根据 GPIO_InitStruct中指定的参数初始化外设 GPIOx 寄存器 X=0-7*/
void GPIO_MODEL(GPIO_TypeDef* GPIOx, u32 GPIO_MODE,u32 PortVal);
void GPIO_DeInit(GPIO_TypeDef* GPIOx);/*将外设 GPIOx 寄存器重设为缺省值*/
/*将复用功能(重映射事件控制和 EXTI设置)重设为缺省值 */
void GPIO_AFIODeInit(void);
/* 设置或者清除指定的数据端口位 */
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, u16 GPIO_Pin, BitAction BitVal);
/* 锁定 GPIO管脚设置寄存器 */
void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
/* 选择 GPIO管脚用作事件输出 */
void GPIO_EventOutputConfig(u8 GPIO_PortSource, u8 GPIO_PinSource);
/* 使能或者失能事件输出 */
void GPIO_EventOutputCmd(FunctionalState NewState);
/* 改变指定管脚的映射*/
void GPIO_PinRemapConfig(u32 GPIO_Remap, FunctionalState NewState);
/* 选择 GPIO管脚用作外部中断线路*/
void GPIO_EXTILineConfig(u8 GPIO_PortSource, u8 GPIO_PinSource);
/* Exported functions ----------------------------------- */
//void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
//void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);
//u8 GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
//u16 GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
//u8 GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
//u16 GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
//void GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
//void GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
//void GPIO_Write(GPIO_TypeDef* GPIOx, u16 PortVal);
#endif /* __STM32F10x_GPIO_H */
/******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -