极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16153|回复: 0

小车上八路红外寻迹 如何把各引脚读进来的高低电平转化成八位的二进制

[复制链接]
发表于 2018-4-8 19:59:48 | 显示全部楼层 |阅读模式
大佬们 如何把各引脚读进来的高低电平转化成八位的二进制
int D1  = 15;   //D1对应最左侧传感器
int D2  = 14;
int D3  = 17;
int D4  = 16;
int D5  = 19;
int D6  = 18;
int D7  = 14;
int D8  = 21;
unsigned short int b = 0x00000000;
//int DSensorValue = 3;
void setup() {
  
  Serial.begin(9600);
//Serial.print(DSensorValue, OCT);
  // put your setup code here, to run once:

}
void GetDigitalSensorValue()
{
  int DSensorValue = 0;
  int Value[7] = {0};
   
  Value[0] = digitalRead(D1);  //D1对应最左侧传感器
  Value[1] = digitalRead(D2);
  Value[2] = digitalRead(D3);
  Value[3] = digitalRead(D4);
  Value[4] = digitalRead(D5);
  Value[5] = digitalRead(D6);
  Value[6] = digitalRead(D7);
  Value[7] = digitalRead(D8);
     
  DSensorValue |= (Value[7] & 0x01);
  DSensorValue |= (Value[6] & 0x01)  << 1;
  DSensorValue |= (Value[5] & 0x01)  << 2;
  DSensorValue |= (Value[4] & 0x01)  << 3;
  DSensorValue |= (Value[3] & 0x01)  << 4;
  DSensorValue |= (Value[2] & 0x01)  << 5;
  DSensorValue |= (Value[1] & 0x01)  << 6;
  DSensorValue |= (Value[0] & 0x01)  << 7;

  return DSensorValue;
  b=DSensorValue;
  
}
void loop() {
  GetDigitalSensorValue();
Serial.println("");
  Serial.print(, OCT);delay(1000);
  // put your main code here, to run repeatedly:

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-25 14:57 , Processed in 0.040727 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表