2021年8月3日 星期二

byte use

 int led[] = {2,3,4,5,6,7,8,9};  // 宣告 LED 的接腳 I/O 陣列

char ad[] = { 0b10000001, 0b01000010, 0b00100100, 0b00011000, 

             0b00100100, 0b01000010 };

int ii,jj;            // for迴圈的計數變數


void setup() {                

  for (ii=0; ii<8; ii++)

  {  pinMode(led[ii], OUTPUT);

     digitalWrite(led[ii], HIGH);

  }

}


// the loop routine runs over and over again forever:

void loop() {

  for (ii=0; ii<6; ii++)

  {  OutPort(ad[ii]);

     delay(1000);               // wait for a second

  }

}

void OutPort(byte dat) {

  for (jj=0; jj<8; jj++) {

    if (dat % 2==1)    // 除 2 的餘數代表要取出 dat 的最低位元狀態

      digitalWrite(led[jj], HIGH);  // LED off

    else

      digitalWrite(led[jj], LOW);   // LED on

    dat=dat/2;      // dat 右移一個位元, 繼續偵測其它位元狀態

  }  

}

沒有留言:

張貼留言

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...