RXduino  1.20a
RXduinoマニュアル 最終更新日 平成26年6月29日
GR-SAKURAのピン定義

GR-SAKURAのピン定義

GR-SAKURAのピン配置とマクロ数値は下記のとおりです。

ピン配置

grsakura_pinmap.png
GR-SAKURAのピン配置

ピン配置とマクロ定義

名称

数値

別名

代替機能

名称

数値

別名

代替機能

IO0 0 PIN_P21 RXD0 IO28 28 PIN_P54
IO1 1 PIN_P20 TXD0 IO29 29 PIN_P55
IO2 2 PIN_P22 IO30 30 PIN_P12 IRQ2/RXD2
IO3 3 PIN_P23 IO31 31 PIN_P13 IRQ3
IO4 4 PIN_P24 IO32 32 PIN_P14 IRQ4/DPUPE※
IO5 5 PIN_P25 IO33 33 PIN_P15 IRQ5/SDカード※
IO6 6 PIN_P32 TXD6 IO34 34 PIN_P16 IRQ6/VBUS※
IO7 7 PIN_P33 RXD6 IO35 35 PIN_P17 IRQ7
IO8 8 PIN_PC2 SPI_CS3 IO36 36 PIN_PD0
IO9 9 PIN_PC3 IO37 37 PIN_PD1
IO10 10 PIN_PC4 SPI_CS0 IO38 38 PIN_PD2
IO11 11 PIN_PC6 SPI_MOSI IO39 39 PIN_PD3
IO12 12 PIN_PC7 SPI_MISO IO40 40 PIN_PD4
IO13 13 PIN_PC5 SPI_CLK IO41 41 PIN_PD5
IO14 14 PIN_P40 AD0 IO42 42 PIN_PD6
IO15 15 PIN_P41 AD1 IO43 43 PIN_PD7
IO16 16 PIN_P42 AD2 IO44 44 PIN_PE0
IO17 17 PIN_P43 AD3 IO45 45 PIN_PE1
IO18 18 PIN_P44 AD4 IO46 46 PIN_PE2
IO19 19 PIN_P45 AD5 IO47 47 PIN_PE3
IO20 20 PIN_P46 AD6 IO48 48 PIN_PE4
IO21 21 PIN_P47 AD7 IO49 49 PIN_PE5
IO22 22 PIN_PC0 SPI_CS1 IO50 50 PIN_PE6
IO23 23 PIN_PC1 SPI_CS2 IO51 51 PIN_PE7
IO24 24 PIN_P50 TXD2 IO52 52 PIN_P07
IO25 25 PIN_P51 IO53 53 PIN_P05 DA1
IO26 26 PIN_P52 RXD2 IO54 54 PIN_P35 NMI
IO27 27 PIN_P53 IO55 55 PIN_PJ3

GPIOのアクセス方法

GPIOを操作するときには、上記の表の数値または別名を使ってアクセスします。

数値というのはArduino互換のピン番号です。Arduinoではピンは20個しかなかったので、0~19までしか指定できませんでしたが、GR-SAKURAでは0~55まで指定できます。20~55番のピンはGR-SAKURA独自のものです。

別名というのは、ポート名とビット番号を表し、例えばPIN_PC3というのはPORTCのBit3を意味します。別名を使うと、 digitalWrite(0, HIGH) と書くかわりに digitalWrite(PIN_P21, HIGH) と書くこともできます。

このピン名は、 analogWrite()tone() など、GPIOを使うすべての関数で使用できます。Arduino互換ではないI/O(GR-SAKURAで拡張されたI/O)については、数値で指定するよりも、別名を使ったほうがわかりやすく書けるでしょう。

unsigned char count = 0;
void loop()
{
if(digitalRead(PIN_P32) == '0') // PORT3.2がLならば・・
{
analogWrite(PIN_P50, count++); // PWM出力
}
if(digitalRead(PIN_PE0) == '1') // PORTE.0がHならば・・
{
tone(PIN_P21, count, 100); // count[Hz]で100ms鳴らす
}
}

LEDやスイッチのアクセス方法

ボード上のLEDやスイッチを操作したい場合は、下記の名称を使ってアクセスできます。

名称

別名

ポートの割り当て

LED0 PIN_LED0 PORTA.0
LED1 PIN_LED1 PORTA.1
LED2 PIN_LED2 PORTA.2
LED3 PIN_LED3 PORTA.6
スイッチ(青) PIN_SW PORTA.7

例えば、次のようなコードを書いてLEDを操作します。