SuperH版Arduino(SH7216)、Arduino、GR

SuperH版Arduino(SH7216)、Arduino、GR-SAKURAの仕様差異
2014/5/1
機能
ランゲージ
アナログ入出力
アナログ入力
analogRead(pin)
SH版
pin:
A0~A5
戻り値:
analogReadResolution()の設定範囲
アナログ出力
analogWrite(pin, value)
Arduino
pin:
A0~A5(Uno)
戻り値:
0~1023
周波数はanalogWriteFrequency()で設定可
pin:
0~13、A0~A3
value:
analogWriteResolution()の設定範囲
アナログ入力基準電圧の設定 type:
analogReference(type)
DEFAULT: 5V
INTERNAL: 1.1V
EXTERNAL: AREFピン電圧(5V)
周波数は490Hz
pin:
3,5,6,9,10,11(Uno)
value:
0~255
type:
DEFAULT: 5V
INTERNAL: 1.1V
EXTERNAL: AREFピン電圧(0V~5V)
アナログ入力分解能の設定
analogReadResolution(bits)
bits:
analogRead()が返す値のサイズ(ビット数)
アナログ出力分解能の設定
analogWriteResolution(bits)
bits:
analogWrite()の分解能(ビット数)
Unoはなし
※下記はDueの場合
bits:
analogRead()が返す値のサイズ(ビット数)
Unoはなし
※下記はDueの場合
bits:
analogWrite()の分解能(ビット数)
なし(490Hz固定)
アナログ出力(PWM)周波数の Hz:
analogWrite()の周波数
設定
analogWriteFrequency(Hz)
DAC出力
なし
GR-SAKURA
pin:
A0~A7
戻り値:
0~1023
12ビットA/D変換時は、0~4095
周波数はanalogWriteFrequency()で設定可
pin:
最大15ピン
value:
0~255
type:
DEFAULT: 5V
INTERNAL: 1.1V
EXTERNAL: AREFピン電圧
RAW12BIT: 3.3V(12ビットA/D変換)
なし
(analogReference(RAW12BIT)で12ビットの指
定可)
なし
Hz:
analogWrite()の周波数
Unoはなし
(DueはanalogWrite()で出力可)
analogWriteDAC()で出力可
その他入出力
シフトアウト
shiftOut()で1バイト出力
shiftOut()で1バイト出力
shiftOut()で1バイト出力、
shiftOutEx()で複数バイト出力
シリアル通信
CH数
1CH
Serial(RX: 0ピン, TX: 1ピン)
(CPUのSCI0使用)
ボーレートの設定
※仮想COMはVSerialクラスを使用
1CH(Uno)
Serial(RX: 0ピン, TX: 1ピン)
4CH
Serial, Serial1, Serial2, Serial3
ボーレートの設定
ボーレートの設定とポートの設定
(ポート設定で仮想COMを指定可)
初期化
begin()
ライブラリ
SPI
Wire
分周器の設定
setClockDivider(divider)
divider:
SPI_CLOCK_DIV2 : 12MHz
SPI_CLOCK_DIV4 : 6MHz
SPI_CLOCK_DIV8 : 3MHz
SPI_CLOCK_DIV16 : 1.5MHz
SPI_CLOCK_DIV32 : 750kHz
SPI_CLOCK_DIV64 : 375kHz
SPI_CLOCK_DIV128 : 187.5kHz
ビット長
8ビット
送信終了
endTransmission()
データ受信
read()
使用するピン
EEPROM
容量
書き込み
write()
※システムクロックが16MHzの場合
divider:
SPI_CLOCK_DIV2 : 8MHz
SPI_CLOCK_DIV4 : 4MHz
SPI_CLOCK_DIV8 : 2MHz
SPI_CLOCK_DIV16 : 1MHz
SPI_CLOCK_DIV32 : 500kHz
SPI_CLOCK_DIV64 : 250kHz
SPI_CLOCK_DIV128 : 125kHz
8ビット
divider:
SPI_CLOCK_DIV2 : 24MHz
SPI_CLOCK_DIV4 : 12MHz
SPI_CLOCK_DIV8 : 6MHz
SPI_CLOCK_DIV16 : 3MHz
SPI_CLOCK_DIV32 : 1.5MHz
SPI_CLOCK_DIV64 : 750kHz
SPI_CLOCK_DIV128 : 375kHz
引数:
省略又はtrue: 送信終了時にストップコン
ディションを発行する
false: 送信終了時にストップコンディションを
発行しない
戻り値:
受信データ(データがない時は-1)
SDA: A4
SCL: A5
引数:
なし
引数:
なし
戻り値:
受信データ
SDA: A4
SCL: A5
戻り値:
受信データ(データがない時は-1)
assignSdaScl()で指定可
CPU内蔵データフラッシュ
32kバイト
戻り値:
なし
CPU内蔵EEPROM
512バイト~(機種による)
戻り値:
なし
CPU内蔵データフラッシュ
32kバイト
戻り値:
成功時は1、失敗時は-1
LiquidCrystal
Servo
差異なし
角度(パルス幅)指定
writeMicroseconds(uS)
角度(パルス幅)読み取り
最大出力数
仮想シリアル
setBitLength()で指定可
実装クラス
uS:
uS:
attach()で指定したmin~max
attach()で指定したmin~max
readMicroseconds()で現在のサーボ角度(最 なし
後にwriteした値)をマイクロ秒単位で読み取
18個
12個(Uno)
(0~13、A0~A3)
uS:
0~19999
なし
VSerialクラスを実装
なし
基本的にSerialクラスと同機能だが、CPU起
動時に初期化を行っている為、begin()とend()
はない。
Serialクラスに実装
(ポート設定で仮想COMを指定)
20個
※SH版の補足説明
・ピン指定時の設定値は、アナログ入力時は0~5がA0~A5ピン、それ以外は0~13が0~13ピン、14~19がA0~A5ピンとなります。
・A4、A5ピンは入力専用ピンの為、ポート出力やPWM出力は不可です。A0~A3はポート出力・PWM出力も可能です。
・仮想シリアルはCPU起動時に初期化処理を行っていますので、begin()は未実装です。USBケーブルがPCに繋がれた時点で、仮想COMポートのオープン処理を
行います。ボーレートは、PC側に自動的に合わせます。