====== analogWriteMax() ====== ''analogWriteMax()''は指定した出力チャネルで使用できる最大値を返します。 {{:ja-jp_commands:reference:analogwritemax.svg?900|analogWriteMax コマンドの動作フロー}} ''uint16_t analogWriteMax(uint8_t ch)'' ===== コマンド ===== ^ コマンド ^ 引数 ^ 戻り値 ^ 動作 ^ | ''analogWriteMax(ch)'' | ''uint8_t ch'' | ''uint16_t'' | 指定した出力チャネルで使用できる最大値を返します。 | ===== 使用例 ===== void setup() { analogWriteFreq(3, 1000); // 指定出力チャンネルのPWM周波数を設定します。 uint16_t maxValue = analogWriteMax(3); // 指定出力チャンネルで使用できる最大値を返します。 analogWrite(3, maxValue / 4); // D46 / OC5A、約25% analogWrite(4, maxValue / 2); // D45 / OC5B、約50% analogWrite(5, maxValue); // D44 / OC5C, 100% } void loop() { } ===== 注意事項 ===== * ''analogWrite(0~15, value)''はYアナログ出力用、''analogWrite(20~31, value)''はK/K2高速パルス出力用です。 * 高速パルスGPIOはKが''D130~D135''、K2が''D130~D141''で、Yモジュール数に関係なく固定です。 * アナログ出力にはraw ''0~65535''、高速パルス出力にはArduino互換の''0~255''値を使用します。 * ''analogWriteInit()''、''analogWriteFreq()''、''analogWriteMax()''はYアナログ出力チャネル用です。高速パルス''20~31''には使用しません。 * ''analogWrite(130~141, value)''は使用しません。 * 同じタイマに属する3チャネルはTOP、分周比、周波数を共有します。 * ''analogWriteFreq()''を呼び出すとTOPが自動で変わるため、その後の''analogWrite()''の最大duty値も変わります。 * ''analogWriteFreq()''の戻り値または''analogWriteMax()''で現在のduty最大値を確認します。 * Timer1、Timer3、Timer4、Timer5を使う他のPWM、パルス、高速カウンタ機能と同時使用するときは、タイマの競合を確認してください。 * MPAINOアナログ出力モジュールには別電源とDIPスイッチ設定が必要な場合があります。 * 実際の電圧・電流出力範囲は、モジュールのDIPスイッチ、電源、配線、接続機器の入力仕様と一致させてください。 ===== 同じカテゴリの内蔵コマンド ===== * [[:ja-jp_commands:reference:analogwriteinit|analogWriteInit() 詳細説明を見る]] * [[:ja-jp_commands:reference:analogwritefreq|analogWriteFreq() 詳細説明を見る]] * [[:ja-jp_commands:reference:ianalogwriteinit|IanalogWriteInit() 詳細説明を見る]] * [[:ja-jp_commands:reference:ianalogwrite|IanalogWrite() 詳細説明を見る]] * [[:ja-jp_commands:reference:ianalogwritef|IanalogWritef() 詳細説明を見る]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]