打印

STM32控制光电开关

[复制链接]
465|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
没名字的人|  楼主 | 2020-4-25 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F103单片机控制1个光电开关时,可以采用下面的语句:
#define  Key_1   GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_4)
if(Key_1==0)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_7);//继电器1闭合
GPIO_ResetBits(GPIOC,GPIO_Pin_6);//继电器2闭合
GPIO_SetBits(GPIOB,GPIO_Pin_15);//继电器3断开
GPIO_SetBits(GPIOB,GPIO_Pin_14);//继电器4断开      
}
然而,当用STM32控制多个光电开关时,用多个if语句就不可以了,光电开关总是输出低电平,这是为什么?麻烦各位
朋友看一下,本人十分想弄明白。
if(Key_1==0)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_7);//继电器1闭合
GPIO_ResetBits(GPIOC,GPIO_Pin_6);//继电器2闭合
GPIO_SetBits(GPIOB,GPIO_Pin_15);//继电器3断开
GPIO_SetBits(GPIOB,GPIO_Pin_14);//继电器4断开
   
GPIO_SetBits(GPIOB,GPIO_Pin_0);//灭灯   
}
if(Key_2==0)
{
GPIO_SetBits(GPIOC,GPIO_Pin_7);//继电器1断开
GPIO_SetBits(GPIOC,GPIO_Pin_6);//继电器2断开
GPIO_ResetBits(GPIOB,GPIO_Pin_15);//继电器3闭合
GPIO_ResetBits(GPIOB,GPIO_Pin_14);//继电器4闭合   
}
  if(Key_3==0)
{
GPIO_SetBits(GPIOC,GPIO_Pin_7);//继电器1断开
GPIO_SetBits(GPIOC,GPIO_Pin_6);//继电器2断开
GPIO_ResetBits(GPIOB,GPIO_Pin_15);//继电器3闭合
GPIO_ResetBits(GPIOB,GPIO_Pin_14);//继电器4闭合        
}

使用特权

评论回复

相关帖子

沙发
ayb_ice| | 2020-4-25 17:01 | 只看该作者
按键不去抖吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

420

主题

432

帖子

0

粉丝