宏定义
#define GPIO_Pin_0 ((uint16_t)0x0001) /*!<选择Pin0*/ //(00000000 00000001)b
#define GPIO_Pin_1 ((uint16_t)0x0002) /*!<选择Pin1*/ //(00000000 00000010)b
#define GPIO_Pin_2 ((uint16_t)0x0004) /*!<选择Pin2*/ //(00000000 00000100)b
#define GPIO_Pin_3 ((uint16_t)0x0008) /*!<选择Pin3*/ //(00000000 00001000)b
#define GPIO_Pin_4 ((uint16_t)0x0010) /*!<选择Pin4*/ //(00000000 00010000)b
#define GPIO_Pin_5 ((uint16_t)0x0020) /*!<选择Pin5*/ //(00000000 00100000)b
#define GPIO_Pin_6 ((uint16_t)0x0040) /*!<选择Pin6*/ //(00000000 01000000)b
#define GPIO_Pin_7 ((uint16_t)0x0080) /*!<选择Pin7*/ //(00000000 10000000)b
#define GPIO_Pin_8 ((uint16_t)0x0100) /*!<选择Pin8*/ //(00000001 00000001)b
#define GPIO_Pin_9 ((uint16_t)0x0200) /*!<选择Pin9*/ //(00000010 00000010)b
#define GPIO_Pin_10 ((uint16_t)0x0400) /*!<选择Pin10*/ //(00000100 00000100)b
#define GPIO_Pin_11 ((uint16_t)0x0800) /*!<选择Pin11*/ //(00001000 00001000)b
#define GPIO_Pin_12 ((uint16_t)0x1000) /*!<选择Pin12*/ //(00010000 00010000)b
#define GPIO_Pin_13 ((uint16_t)0x2000) /*!<选择Pin13*/ //(00100000 00100000)b
#define GPIO_Pin_14 ((uint16_t)0x4000) /*!<选择Pin14*/ //(01000000 01000000)b
#define GPIO_Pin_15 ((uint16_t)0x8000) /*!<选择Pin15*/ //(10000000 10000000)b
#define GPIO_Pin_AII ((uint16_t)0xFFFF) /*!<选择全部引脚*/ //(11111111 11111111)b
端口置位函数
通过控制BSRR寄存器来置位
低16位的端口置1则对应的端口输出1
void GPIO_SetBits(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin)
{
GPIOx->BSRR |= GPIO_Pin;
}
端口复位函数
通过控制BRR寄存器来复位
低16位的端口置1则对应的端口输出0