如何拆分和连接两个字节

时间:2019-05-05 06:49:13

标签: c++ arduino bitwise-operators

我正在玩一个8x8 led矩阵,并且设法获得了各种形状和字母来显示和滚动。目前,我正在使用一些代码来使用595个移位寄存器滚动文本,我设法将单词中的每个字母滚动到矩阵上和滚动出矩阵,但是我试图弄清楚如何删除字母之间的空格。空格是由我产生的,使用<<和>>来移位位,以使字母在矩阵上上下移动,从而产生滚动效果。

在将字节移入并连接下一个字节时,是否可以做一些数学运算来拆分字节?这就是我在想的解决方案,但不知道如何解决。

请原谅我的编程恐惧,我仍在学习,并且愿意接受建设性的批评。

// Entire for loop block first moves each letter in from the right then scrolls it out the left
for(int numOfLetters = 0; numOfLetters < 2; numOfLetters++){

// This for loop block scrolls the each letter in from the right to the middle of the matrix
 for(int z = 8; z > 0; z--){
  for(int speedOfScroll = 0; speedOfScroll < 5; speedOfScroll++){
for(int i = 0; i < 8; i++){
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, row[i]); // Rows
    shiftOut(dataPin, clockPin, LSBFIRST, column1[numOfLetters][i] >> z); // Columms
    digitalWrite(latchPin, HIGH);
    delay(2);
  }    
}
 }

// This for loop block scrolls each letter from the middle of the matrix to the left
  for(int y = 0; y < 8; y++){
for(int speedOfScroll = 0; speedOfScroll < 5; speedOfScroll++){
  for(int i = 0; i < 8; i++){
      digitalWrite(latchPin, LOW);
      shiftOut(dataPin, clockPin, LSBFIRST, row[i]); // Rows
      shiftOut(dataPin, clockPin, LSBFIRST, column1[numOfLetters][i] << y); // Columms
      digitalWrite(latchPin, HIGH);
      delay(2);
    }
  }
}
  }
}

0 个答案:

没有答案