ja-jp_commands:reference:ianalogwritef
文書の過去の版を表示しています。
IanalogWritef()
IanalogWritef()はユーザーの実数値をアナログ出力範囲に変換して出力します。
void IanalogWritef(uint8_t ch, float min, float max, float value)
コマンド
| コマンド | 引数 | 戻り値 | 動作 |
|---|---|---|---|
IanalogWritef(ch, min, max, value) | uint8_t ch — 出力するアナログ出力ピンまたはチャネルfloat min — ユーザー入力範囲の最小値float max — ユーザー入力範囲の最大値float value — 出力するユーザー入力値 | void | ユーザーの実数値をアナログ出力範囲に変換して出力します。 |
使用例
const uint8_t DEMAND_INPUT = A0; const uint8_t OUTPUT_CHANNEL = 0; void setup() { Serial.begin(115200); } void loop() { const float demandVolts = IanalogReadf(DEMAND_INPUT, 0.0F, 10.0F); // アナログ入力値を指定した浮動小数点範囲に変換します。 IanalogWritef(OUTPUT_CHANNEL, 0.0F, 10.0F, demandVolts); // ユーザーの浮動小数点値をアナログ出力範囲に変換して出力します。 Serial.print(F("demand=")); Serial.print(demandVolts, 2); Serial.println(F("V")); delay(250); }
注意事項
- 引数の順序は必ず
ch, min, max, valueです。 minとmaxは電気的出力範囲を直接設定する値ではなく、valueを解釈するユーザー入力範囲です。valueがmin~maxの範囲外の場合、内部のIscalef()により近い方の端点に制限されます。minをmaxより大きくすると出力方向が反転します。minとmaxが同じ場合、出力値は0になります。analogWriteInit()やanalogWriteFreq()でTimer TOPを変えると実際のanalogWrite()出力範囲も変わります。16ビット0~65535の分解能を維持するには既定のTOP65535を使用します。- 出力モジュールのDIPスイッチ、外部電源、配線と、接続機器の入力仕様を一致させてください。
- 同じタイマを使用するPWM、パルス出力、カウンタコマンドと同時使用しません。
ja-jp_commands/reference/ianalogwritef.1788792749.txt.gz · 最終更新: by 127.0.0.1
