/** @defgroup GPIO_mode_define GPIO mode define * @{ */#define GPIO_MODE_INPUT 0x00000000u /*!< 输入模式 */#define GPIO_MODE_OUTPUT_PP 0x00000001u /*!< 推挽输出模式 */#define GPIO_MODE_OUTPUT_OD 0x00000011u /*!< 开漏输出模式 */#define GPIO_MODE_AF_PP 0x00000002u /*!< 复用...
6、带上拉,下拉输入模式 #define GPIO_MODE_IT_RISING 0x10110000U / *!<具有上升沿触发检测的外部中断模式* / #define GPIO_MODE_IT_FALLING 0x10210000U / *!<具有下降沿触发检测的外部中断模式* / #define GPIO_MODE_IT_RISING_FALLING 0x10310000U / *!<具有上升沿/下降沿触发检测的外部中断模式* ...
1、输入浮空 -该模式可以用于按键检测等场景。 2、输入上拉 -上拉电阻导通,施密特触发器打开,输出被禁止。使用内部电阻(内部电阻较大)为“弱上拉”不适合做电流型驱动空闲时,IO呈现高电平 3、输入下拉 -下拉电阻导通,施密特触发器打开,输出被禁止。使用内部电阻(内部电阻较大)为“弱下拉”不适合做电流型驱动空闲...
ENABLE);GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//选择推挽输出模式即Out_PP//GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 |GPIO_Pin_2 ;//利用|一次性初始化多个端口GPIO_InitStructure.GPIO_Pin...
GPIOx_CRL |= Clear_BIT(GPIO_Mode_Out_PP, PINx_BIT); 输出模式:GPIO x 开漏输出 GPIOx_CRL |= Clear_BIT(GPIO_Mode_Out_OD, PINx_BIT); 其中,Clear_BIT()和SET_BIT()宏定义如下: #define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT)) ...
1.1这两个寄存器一共64个比特位, 用于控制16根GPIO引脚(Pin0-15). 每4个比特位控制一根引脚. 如图CNF0, MODE0控制Pin0. 以此类推... (GPIOx_CRL控制Pin0-7, CRH控制Pin8-15) 2. GPIOx_IDR和GPIOx_ODR寄存器 2.1GPIOx_IDR寄存器为端口输入寄存器, 只能以16位的形式读出(因为高16位保留), 读出的值...
MODEy端口模式位: AI检测代码解析 00:输入模式(复位后的状态) 01:输出模式,最大速度10MHz 10:输出模式,最大速度2MHz 11:输出模式,最大速度50MHz 1. 2. 3. 4. 如果现在的GPIO口是要控制LED灯、控制继电器、或者控制其他外设,需要强大的驱动力气,对速度没有要求,那就需要配置为推挽输出模式。
#define GPIO_Pin_All ((uint16_t)0xFFFF) 2) GPIO_Mode:用来设置已经选择的GPIO引脚的模式,在标准库函数中可选择的值及其定义如下: typedef enum { GPIO_Mode_IN = 0x00, /*!设置为输入模式 */ GPIO_Mode_OUT = 0x01, /*!设置为输出模式*/ ...
GPIO的8种工作模式 GPIO的8种⼯作模式 1、推挽输出模式 #define GPIO_MODE_OUTPUT_PP 0x00000001U / *!<输出推拉模式* / 推挽结构⼀般是指两个三极管分别受两个互补信号的控制,总是在⼀个三极管导通的时候另⼀个截⽌。这种结构既可以输出⾼电平,也可以输出低电平,可以⽤于连接数字器件。...
GPIO_Pin是想要配置的IO,GPIO_Speed,通常写GPIO_Speed_50MHz,GPIO_Mode是IO的工作模式 写入配置 GPIO的工作模式在程序中有定义 typedefenum{GPIO_Mode_AIN =0x0,// 模拟输入GPIO_Mode_IN_FLOATING =0x04,// 输入浮空GPIO_Mode_IPD =0x28,// 输入下拉GPIO_Mode_IPU =0x48,// 输入上拉GPIO_Mode_Out_OD...