输出 0:GPIO_ResetBits(GPIOB, GPIO_Pin_0)输出 1:GPIO_SetBits(GPIOB, GPIO_Pin_0)输入: GPIO...
void LED_GPIO_Config(void){/*定义一个GPIO_InitTypeDef类型的结构体*/GPIO_InitTypeDef GPIO_InitStructure;/*开启LED相关的GPIO外设时钟*/RCC_APB2PeriphClockCmd( LED1_GPIO_CLK | LED2_GPIO_CLK | LED3_GPIO_CLK, ENABLE);/*选择要控制的GPIO引脚*/GPIO_InitStructure.GPIO_Pin = LED1_GPIO_PIN;/*设...
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);void GPIO_ResetBits(GPIO_TypeDef* ...
GPIOInitStruct.GPIO_Pin = GPIO_Pin_13;/*PB13:CH1N*/GPIO_Init(GPIOB, &GPIOInitStruct); GPIOInitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIOInitStruct.GPIO_Pin = GPIO_Pin_12;/*PB12:BKIN*/GPIO_Init(GPIOB, &GPIOInitStruct); GPIO_SetBits(GPIOB, GPIO_Pin_12);/*设置PB12*/} PWM...
u16 GPIO_Pin; GPIOSpeed_TypeDef GPIO_Speed; GPIOMode_TypeDef GPIO_Mode; }GPIO_InitTypeDef; 然后是利用GPIO_Init(。。。)函数来初始化指定的GPIO。 最后可以使用 GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1); GPIO_ResetBits(GPIOC, GPIO_Pin_2 | GPIO_Pin_3); ...
GPIO_SetBits(GPIOC,GPIO_Pin_3); delay_us(100000); GPIO_ResetBits(GPIOC,GPIO_Pin_3); delay_us(100000); aa--; } //清除中断标志 EXTI_ClearITPendingBit(EXTI_Line9); //使灯的状态为灭 GPIO_SetBits(GPIOC,GPIO_Pin_3); } } 3、当然延时函数的实现使用的是系统滴答定时器,函数实现如下: ...
GPIO_SetBits(GPIOE,GPIO_Pin_5); //PE.5 输出高 } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 这其实就是一个简单的IO口配置,第一句,定义了一个结构体变量,我们看一下里面有什么, /** * @brief GPIO Init structure definition ...
我用GPIO_SetBits(GPIOA, GPIO_Pin_4)将PA4至高,用万用表测PA4口电压,显示只有2.0v. 这就...
STM32F103CBT6标准库 GPIO读写操作 //对某个端口的位号进行写0或1voidGPIO_WriteBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,BitActionBitVal);//对某个端口进行写入voidGPIO_Write(GPIO_TypeDef*GPIOx,uint16_tPortVal);//对某个端口某些引脚进行置1voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);...
例如GPIOE 的16个IO都被设置成输出,⽽每次操作仅需要改变低8位的数据⽽保持⾼8位不变,假设新的8位数据在变量Newdata中,这个要求可以通过操作这两个寄存器实现,STM32的固件库中有两个函数GPIO_SetBits()和GPIO_ResetBits()使⽤了这两个寄存器操作端⼝。上述要求可以这样实现:GPIO_SetBits(GPIOE, New...