shiftIn()
名称
shiftIn()
説明
1ビットずつデータを取り込み、1バイトのデータを作成する。最上位ビット(MSB、一番左)からもしくは最下位ビット(LSB、一番右)から始めることができる。クロックピンをHIGHにした後、ビットを読み取り、その後クロックピンをLOWにする。
注意: 立ち上がりクロックのデバイスを利用するときは、shiftIn()を呼ぶ前にクロックピンをLOWにしておく必要がある。例えば、digitalWrite(clockPin, LOW)を実行する。
i
注意:shiftIn()は、ソフトウェアによって実装されている。特定のピンでしか動作しないが、より高速のハードウェア実装を提供するSPIも参照のこと。
書式
シリアルデータを同期型で読むには、以下の関数を使う。
byte incoming = shiftIn(dataPin, clockPin, bitOrder)
C言語シグネチャ(avr)
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);
引数
この関数は以下の引数を受け付ける。
| dataPin | 各ビットを入力するピン。データ型: int。 |
| clockPin | dataPinから読みだすときに、きっかけを与えるための信号を与えるピン。 |
| bitOrder | ビットを入力する順序。MSBFIRST(MSBから開始)もしくはLSBFIRST(LSBから開始)を指定する。 |
戻り値
この関数は、デバイスから読みだした8ビットを表すバイト(0-255)を返す。データ型: byte。
コード例
|
|
参照
オリジナルのページ
https://docs.arduino.cc/language-reference/en/functions/advanced-io/shiftIn/
実装の解析
最終更新日
August 16, 2026