从书上看到这个,但是不太理解,关于shiftOut
读取移位寄存器有时候Arduino UNO的针脚不够用,如需要驱动很多LED的时候,有一个简单的技术是使用移位寄存器芯片,这个芯片每次读取位数据,当读取足够的时候,它将这些位全部锁存到输出针脚上去(每次一位)。
有一个工具函数名叫shiftOut,有四个参数
1、位需要发送到的针脚号
2、被用作时钟的针脚号,每发送一位后被触发一次
3、一个用于决定位是从最小的一位开始发送还是从最大的一位发送的标签,必须是常量MSBFRIST或LSBFRIST中的一个
4、发送数据的字节数 为了扩展端口,利用一个端口进行数据逐为移出,移动八次就将八位数据移出了。相对于接收外接是一个串并数据转换器,收到八位移出的数据在八位口上就得到八个端口的开关量。这样形成了八个端口的扩展。 官网:http://arduino.cc/en/Reference/shiftOut 上有详细的解说,还有例子可以去看看,下面是节选:
Syntax
shiftOut(dataPin, clockPin, bitOrder, value)
Parameters
dataPin: the pin on which to output each bit (int)
clockPin: the pin to toggle once the dataPin has been set to the correct value (int)
bitOrder: which order to shift out the bits; either MSBFIRST or LSBFIRST.
(Most Significant Bit First, or, Least Significant Bit First)
value: the data to shift out. (byte) :):):)越看越有起色了
页:
[1]