极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10860|回复: 3

从书上看到这个,但是不太理解,关于shiftOut

[复制链接]
发表于 2014-2-4 21:53:08 | 显示全部楼层 |阅读模式
读取移位寄存器
有时候Arduino UNO的针脚不够用,如需要驱动很多LED的时候,有一个简单的技术是使用移位寄存器芯片,这个芯片每次读取位数据,当读取足够的时候,它将这些位全部锁存到输出针脚上去(每次一位)。
有一个工具函数名叫shiftOut,有四个参数
1、位需要发送到的针脚号
2、被用作时钟的针脚号,每发送一位后被触发一次
3、一个用于决定位是从最小的一位开始发送还是从最大的一位发送的标签,必须是常量MSBFRIST或LSBFRIST中的一个
4、发送数据的字节数
回复

使用道具 举报

发表于 2014-2-5 15:28:06 | 显示全部楼层
为了扩展端口,利用一个端口进行数据逐为移出,移动八次就将八位数据移出了。相对于接收外接是一个串并数据转换器,收到八位移出的数据在八位口上就得到八个端口的开关量。这样形成了八个端口的扩展。
回复 支持 反对

使用道具 举报

发表于 2014-2-5 20:52:51 | 显示全部楼层
官网: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)
回复 支持 反对

使用道具 举报

发表于 2014-12-4 16:26:47 | 显示全部楼层
越看越有起色了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 00:36 , Processed in 0.039572 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表