SHIFTIN
SHIFTIN デジタルシフトアウト入力(数値関数)
書式
SHIFTIN( データピン番号 , クロックピン番号 , 入力形式 )
SHIFTIN( データピン番号 , クロックピン番号 , 入力形式 , 条件 )
引数
データピン番号 : 0 ~ 34 データを入力するピン
クロックピン番号 : 0 ~ 34 クロックを出力するピン
上記のピン番号は数値の他に次のピン名(定数)での指定も可能です。
PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA13, PA14, PA15,
PB0, PB1, PB2, PB3, PB4, PB5, PB8, PB10, PB11, PB12, PB13, PB14, PB15, PC13
入力形式 :入力するデータの順番を下記にて指定
LSBまたは0 下位ビットから入力する
MSBまたは1 上位ビットから入力する
条件 :LOW または HIGH
データピンからのデータを読み取るクロックのタイミングを指定します。
LOW クロックがLOWの場合にデータを読み取る。
HIGH クロックがHIGHの場合にデータを読み取る。
戻り値
入力値(1バイト)
説明
クロックにて同期を行い、データピンから1バイト分のデータを1ビットずつ入力します。
ArduinoのshiftIn()と同等の動作をします。
引数に条件を指定した場合、クロックが指定した状態の時にデータピンからデータを読み取ります。
条件を指定していない場合は、条件はHIGH(ArduinoのshiftIn()と同様の仕様)となります。
データピン、クロックピンは事前にGPIOコマンドによる機能設定(デジタル入出力)が必要です。 注意:
ピン番号の指定範囲及び定数は、ST32F103C8T6での利用を想定したものです。ST32F103C8T6以外のMPUにて使う場合は、機能設定できない場合があります。
利用するシステム構成により、利用出来ないピンがあります。詳細については、ボート上のピン一覧を参照して下さい。 エラーメッセージ
Syntax error :文法エラー、書式と異なる利用を行った
Illegal value :ピン番号、モードに範囲外の値を指定した
Overflow :指定した数値が-32768 ~ 32767を超えている
'(' or ')' expected :’(‘ または ‘)’がない
利用例
ファミコン用ゲームパッドからボタン操作情報を取得する
code:SHIFTIN_sample.bas
10 CLS
20 GPIO PB12,INPUT_FL
30 GPIO PB13,OUTPUT
40 GPIO PB14,OUTPUT
50 OUT PB13,HIGH
60 OUT PB13,LOW
70 R=SHIFTIN(PB12,PB14,LSB,LOW)
80 LOCATE 0,0:?BIN$(R,8)
90 WAIT 100
100 GOTO 50
関連項目