宏定义
#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
|