大佬们 如何把各引脚读进来的高低电平转化成八位的二进制
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:
} |