value数据后会自动把数据移动分配到8个并行输出端
语法
void shiftOut(uint8 dataPin, uint8 clockPin, uint8 bitOrder, uint8 value)
参数
dataPin 数据引脚
clockPin 时钟引脚
bitOrder 移位的顺序,MSBFIRST 或 LSBFIRST
value 数据
返回值
无
示例
uint16 data = 500; shiftOut(dataPin, clockPin, MSBFIRST, (data >> 8)); shiftOut(dataPin, clockPin, MSBFIRST, data); data = 500; shiftOut(dataPin, clockPin, LSBFIRST, data); shiftOut(dataPin, clockPin, LSBFIRST, (data >> 8));
应用示例:74HC595
int latchPin = 8;
int clockPin = 12;
int dataPin = 11;
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
for (int j = 0; j < 256; j++) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, j);
digitalWrite(latchPin, HIGH);
delay(1000);
}
}