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側に自動的に合わせます。
© Copyright 2024 Paperzz