假设key电阻为40kΩ,则key0 的电压3.3v*4/5=2.64v
2.key开关代码
②
GPIO_OType_PP//推挽输出
GPIO_OType_PP//开漏输出
推挽输出是指输出端口可以同时提供高电平和低电平输出,而开漏输出则是指输出端口只能提供低电平输出,高电平时需要借助外部上拉电阻
• 推挽输出的优点是可以在两种电平下都具有驱动能力,即可以向负载灌入或拉出电流,而开漏输出的优点是可以方便地调节输出的电平,因为输出电平完全由上拉电阻连接的电源电平决定
• 推挽输出的缺点是不能实现"线与"功能,即多个推挽输出结构的GPIO相连在一起时,如果高低电平不一致,会造成短路和器件损坏,而开漏输出的缺点是高电平时没有驱动能力,且会带来上升沿的延时
• 推挽输出和开漏输出的应用场合也不同,推挽输出适合于需要快速切换和稳定驱动的场合,如数字信号传输、LED驱动等,而开漏输出适合于需要进行电平转换和"线与"操作的场合,如I2C、SMBus等总线通信
⑤
GPIO_Init(GPIOA,&GPIO_InitStruct);//传递地址
key控制灯光代码
判断按键是否有被使用
if(Bit_RESET==GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0))
{
//亮灯,输出低电平
GPIO_WriteBit(GPIOF,GPIO_Pin_9,Bit_RESET);
} else {
//灭灯,输出高电平
GPIO_WriteBit(GPIOF,GPIO_Pin_9,Bit_SET);
}