Ruby

mruby/cにて対応しているRubyのクラスについては下記公式URLをご参照ください。
https://www.s-itoc.jp/activity/research/mrubyc/mrubyc_docs/library

ADC

start

ADCスタート

stop

ADCストップ

read

取得値整数出力
戻り値:0~1023(0~3.3V)

read_v

取得値電圧出力
戻り値:0~3.3

ch(channel)

使用するポート指定
channel:0~7

I2C

write(sl_addr, addr, data1, data2,,,,)

i2c書き込み
sl_addr:スレーブのアドレス
addr:書き込み対象のアドレス
data:書き込むデータ

read(sl_addr, addr, size)

i2c読み込み
sl_addr:スレーブのアドレス
addr:読み込み対象のアドレス
size:読み込むデータのサイズ

PWM

new


cycle(time,double)

周期設定
time:1~65535‬(1=0.1us)
1(s)÷ (Hz)×10000000= 0
double:倍率(0~7)
整数 倍率
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 256

rate(p,ch)

p:パーセント
ch:使用チャンネル(1~5)

start(ch)

PWMスタート
ch:使用チャンネル(1~5)

stop(ch)

PWMストップ
ch:使用チャンネル(1~5)

pin(pin)

使用するPWMpinの指定
pin(2,12,16,18)
ch pin
1 12
2 16
3
4 18
5 2

Timer

start


stop


set(time,double)

time:1~65535‬(1=0.1us)
double:整数(倍率)
整数 倍率
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 256

count_clear


count_get

戻り値:0~255

UART

new(baud)

19200を基準としているため、これ以上の値を設定するとかなりデータが欠損する。
baud:ボーレート値(例:19200)

gets

文字列受信

puts(text)

文字列送信
text:文字列

clear_buffer

受信文字列のバッファ初期化(mruby/c2.0)

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

pinMode(pin,mode)

pin:0~20
mode:0(出力) or 1(入力)

pinPull(pin,mode)

内部抵抗選択(mruby/c2.0)
pin:0~20
mode:-1(pull down) or 0(pull無し) or 1(pull up)

pinInit

すべてのピン設定を初期状態へ戻す。

digitalWrite(pin,mode)

pin:0~20
mode:0(OFF) or 1(ON)

digitalRead(pin)

指定ピンの状態読み込み
pin:0~20
戻り値:0(OFF) or 1(ON)

puts(txt)

文字列出力
ターミナルソフトの設定についてはこちら txt:文字列