SHIFTOUT
SHIFTOUT デジタルシフトアウト出力
書式
SHIFTOUT データピン番号 , クロックピン番号 , 出力形式 , 出力データ
引数
データピン番号 : 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:上位ビットから出力する
出力データ: 出力するデータ(下位8ビットのみ有効)
説明
クロックにて同期を行い、データピンから1バイト分のデータを1ビットずつ出力します。
ArduinoのshiftOut()と同等の動作をします。
データピン、クロックピンは事前にGPIOコマンドによる機能設定(デジタル出力)が必要です。 注意:
ピン番号の指定範囲及び定数は、ST32F103C8T6での利用を想定したものです。ST32F103C8T6以外のMPUにて使う場合は、機能設定できない場合があります。
利用するシステム構成により、利用出来ないピンがあります。詳細については、ボート上のピン一覧を参照して下さい。 エラーメッセージ
Syntax error :文法エラー、書式と異なる利用を行った
Illegal value :ピン番号、モードに範囲外の値を指定した
Overflow :指定した数値が-32768 ~ 32767を超えている
利用例
シフトレジスタ74HC595を使ってLED8個を制御する
code:shiftout-sample.bas
10 GPIO PB12,OUTPUT
20 GPIO PB13,OUTPUT
30 GPIO PB14,OUTPUT
40 D=$80
50 FOR I=0 TO 6
60 GOSUB "led"
70 D=D>>1
80 WAIT 200
90 NEXT I
100 FOR I=0 TO 6
110 GOSUB "led"
120 D=D<<1
130 WAIT 200
140 NEXT I
150 GOTO 40
160 "led"
170 OUT PB13,LOW
180 SHIFTOUT PB12,PB14,MSB,D
190 OUT PB13,HIGH
200 TONE 600,10
210 RETURN
関連項目