【STM32】拨码开关

拨码开关长啥样嘞?

拨码开关不像按键那样,按下检测高低电平就可以书写代码,而是需要一定的编码规则,由于我选用的是4位拨码开关。因此有16种表示方式,2^4 = 16种。

uint16 DIP_Switch()
{
  uint16 status;
  if(gpio_get (A27)==1)   status |= 0x00;
  else                    status |= 0x01;//1
  if(gpio_get (A26)==1)   status |= 0x00;
  else                    status |= 0x02;//2
  if(gpio_get (A25)==1)   status |= 0x00;
  else                    status |= 0x04;//4
  if(gpio_get (A24)==1)   status |= 0x00;
  else                    status |= 0x08;//8
  return status;
}

利用8421即可计算出最终得到的数。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值