T
T
MWSDK(TWELITE SDK)
MONO WIRELESS INC.
検索…
MWSDK
TWELITE SDK (MWSDK) マニュアル
はじめに
最新版の取得
TWELITE SDKの使用法
TWELIET NET API 解説
TWELITE NET API リファレンス
HW API リファレンス
ペリフェラル
ADC
DIO
TickTimer
UART
Timer
WakeTimer
I2C
SPI
Flash, EEPROM
Utils リファレンス、他
GitBook
上で動作しています
DIO
DIO (汎用IO) は、ファームウェアの制御で任意に入力または出力することができます。
一般に GPIO とも呼ばれますが、本マニュアル中では DIO と呼称します。
汎用IOを用いて以下のことが可能です。
デジタル入力 (H または L レベルの読み出し)
プルアップ (50kΩ, typ) を設定可能です。
デジタル出力 (H または L レベルの出力)
供給または吸い込み電流の最大値(3mA at 3V typ)です。
割り込み(立ち上がり、または、立ち下がり)
立ち上がり、立ち下がりを同時には検出できません。
スリープ時にも利用可能です。
ポート番号について
DIO は 0 番から 19 番まで 20 本が割り振られています。これらを順に DIO0 ... DIO19 と呼びます。以下に紹介する API では DIO の番号を直接指定します。
1
vPortAsInput(10); // set DIO10 as input
2
bool_t bPort = bPortRead(10);
3
// TRUE: DIO10 is LO(GND) level
4
// FALSE: DIO10 is HIGH(VCC) level
Copied!
負論理について
TWELITE 無線マイコンにおいては、電源投入のリセット時のポート状態は High (Vcc) レベルになるため、TWELITE NET では原則として High(Vcc) レベルを 0, Lo(GND) レベルを 1 としています。
起動時の状態
電源投入時には全てのポートは以下の状態で初期化されます。
入力
プルアップ有り
入力
ポートを入力に変更するには
vPortAsInput
() を呼びます。
1
#define PORT_DI1 11 // DIO11
2
vPortAsInput(PORT_DI1);
Copied!
ポートの状態を読み出すには、
bPortRead
() を呼びます。
1
bool_t bPortStat;
2
bPortStat = bPortRead(PORT_DI1);
Copied!
出力
ポートを出力に変更するには
vPortAsOutput
(c) を呼びます。またポートの値を設定するには、
vPortSetLo
(),
vPortSetHi
(),
vPortSet_TrueAsLo
() を呼びます。
1
#define PORT_DO1 18 // DIO18
2
vPortSet_TrueAsLo(PORT_DO1, TRUE); // TRUE: set Lo
3
vPortAsOutput(PORT_DO1);
Copied!
出力設定を行う前に、ポートの出力設定値を設定しておくことを推奨します。外部からポートの電圧を観察したとき、例えば一瞬GNDに落ちてVccレベルに戻るといった挙動が発生する場合があるためです。
プルアップ
vPortDisablePullup
() を呼び出すことで、プルアップを停止することができます。
1
#define PORT_DI1 11 // DIO11
2
3
vPortDisablePullup(PORT_DI1);
4
vPortAsInput(PORT_DI1);
Copied!
プルアップを停止することで、以下の場合に省電力化となります。
入力ポートで外部がLoレベル
出力ポートで Lo レベルを設定する
ただし、プルアップを停止したポートでは、以下のような利用に注意が必要です。
入力ポートに何も接続されていない(または相当の状態)
余分な電流消費が発生する場合があります
設定が不要なポートのプルアップ停止
余分な電流消費が発生する場合があります
入力ポートを割り込み起床ピンとた場合
ボタン等を接続する場合は、外部のプルアップが必須です。
前
adc.c
次
TickTimer
最終更新
7mo ago
リンクのコピー
目次
ポート番号について
負論理について
起動時の状態
入力
出力
プルアップ