// Parallel ans serial output Demostration from Arduino digital I/O pins
void setup() {
// put your setup code here, to run once:
DDRD = 0xFF; // Indiate that digital pins 0 -> 7 will be for an output
pinMode(13, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int ser; // serial shift register
for (int n=0; n<127; n=n+1 ) {
PORTD = n; // Output Binary number on digital pins 0 -> 7
ser = n; // copy current number to serial shift register
for (int i=0; i<8; i++ ) {
digitalWrite(13,ser&1); // Output current bit in "low order" postion
ser = ser >> 1; // shift the byte being output serially
delay(200);
}
}
}