Ruby
mruby/cにて対応しているRubyのクラスについては下記公式URLをご参照ください。https://www.s-itoc.jp/activity/research/mrubyc/mrubyc_docs/library
GPIO
new(pin)
コンストラクタpin:0~20
setmode(mode)
入出力方向設定mode:0(出力),1(入力)
write(value)
出力value:0(OFF),1(ON)
read()
入力戻り値:0(OFF),1(ON)
pull(mode)
内部抵抗選択mode:-1~1
-1(pull down) , 0(pull無し) , 1(pull up)
ADC
new(pin)
コンストラクタpin:0~20
read
取得値電圧出力戻り値:0~3.3
read_v
※readと同様取得値電圧出力
戻り値:0~3.3
I2C
new()
コンストラクタwrite(sl_addr, addr, data1, data2,,,,)
i2c書き込みsl_addr:スレーブのアドレス
addr:書き込み対象のアドレス
data:書き込むデータ
read(sl_addr, size, addr)
i2c読み込みsl_addr:スレーブのアドレス
size:読み込むデータのサイズ
addr:読み込み対象のアドレス
SPI
new()
コンストラクタwrite(addr, data1, data2,,,,)
spi書き込みaddr:書き込み対象のアドレス
data:書き込むデータ
read(size)
spi読み込みsize:読み込むデータのサイズ
PWM
new(pin)
コンストラクタpin:0~20
frequency(n)
周波数設定。0を指定すると出力を停止します。n:整数(Hz)
duty(n)
デューティー比を、0(全オフ)から1023(全オン)までで指定します。n:0~1023
period_us(us)
周期をマイクロ秒単位で指定します。us:整数(マイクロ秒)
duty_us(n)
デューティー比を、マイクロ秒単位で指定します。us:整数(マイクロ秒)
period_usが100usの場合duty_usが50usだとon.offが1:1となります。
UART
new( ch, baud )
ch :UARTチャンネル(1 or 2)1=>USBにて使用しているチャンネル
2=>GROVEにて使用しているチャンネル
baud:ボーレート値(例:19200)
set_modem_params("baud"=>baud,"parity"=>parity,"stop_bits"=>stop_bits,"txd"=>txd,"rxd"=>rxd)
baud:ボーレート値(例:19200)parity:パリティビット(0~2)
stop_bits:ストップビット(1 or 2)
txd:送信pin番号
チャンネル1->(0,8,9,12,20)
チャンネル2->(3,5,14,15,19)
rxd:受信pin番号
チャンネル1->(2,4,7,11,18)
チャンネル2->(1,6,10,13,16)
gets
文字列受信、"\n" までのバイト列を返します。write(text)
文字列送信text:文字列
read(n)
文字列受信、指定した文字数を受信します。指定されたバイト数のデータが到着していない場合、nilを返します。
n:文字数
read_nonblock((n)
文字列受信、指定した文字数を受信します。指定されたバイト数のデータが到着していない場合、到着している分のデータを返します。
n:文字数
puts(text)
文字列送信(writeと同様)text:文字列
clear_rx_buffer
受信文字列のバッファ初期化clear_tx_buffer
送信文字列のバッファ初期化Math
https://github.com/YoshihiroOgura/pic32mx170_mrubyc/blob/a0542f4fb76b2f3e1ba6e5078c9e3fc3a7164865/src/c_math.c#L240その他
leds_write(bit)
led制御bit : 整数
led | 10進数 | 2進数 |
---|---|---|
1 | 1 | 0b0001 |
2 | 2 | 0b0010 |
3 | 4 | 0b0100 |
4 | 8 | 0b1000 |
sw()
スイッチの状態読み込み戻り値:0 or 1
pinInit
すべてのピン設定を初期状態へ戻す。puts(txt)
文字列出力ターミナルソフトの設定についてはこちら txt:文字列