这是最基本的两个输出操作:
置高电平:
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
置低电平:
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
如设置A口第1
管脚为低电平:GPIO_ResetBits( GPIOA, GPIO_Pin_0 )
当然,之前要初始化该管脚为输出模式,用如下函数
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
如: GPIO_Init(GPIOA, &GPIO_InitStruct);
其中GPIO_InitStruct
结构体成员包括管脚号 输入输出模式 输出速度等
如:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//输出
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉