IO(アイオー)はデバイスにある電気的な入出力端子のことを指します。IOを使うことで電気のON/OFFの出力や逆に今電圧がかかっているのかどうかの入力を行うことができます。
設定と状態
初期状態
電源が入ったばかりのIOはデバイスの初期状態に揃えられます。デバイスやIOにもよりますが基本的にはフロート状態(ハイインピーダンス、プルアップダウンなし)となります。io.end()を呼ぶことで意図的に初期状態に戻すことも可能です。
ペリフェラルからの利用
UARTやPWMなどほかのペリフェラルから端子を利用する場合は、io.output()やio.input()で利用していた入出力は利用できなくなります。
ただし、IOで行われた駆動方法やプルアップの設定は端子に対する設定であり、ペリフェラルの利用に切り替わっても引き継がれます。ただし、obniz.jsの場合はペリフェラルの初期化関数にIO設定が用意されているため、引き継ぎは意識せずに利用することができます。(以下の例)
// Javascript Example
obniz.uart0.start({
tx: 0,
rx: 1,
baud: 9600,
drive: "open-drain", // => open-drain
pull: "5v" // => pull-up to 5v
});
デバイスごとの違い
デバイスによって、IOの数やそれぞれのIOでできることの違いがあります。詳しくはデバイスのスペックページなどをご覧ください。