====== analogWriteInit() ====== ''analogWriteInit()''は出力タイマの分解能と分周比を設定します。 {{:ja-jp_commands:reference:analogwriteinit.svg?900|analogWriteInit コマンドの動作フロー}} ''void analogWriteInit(uint8_t ch, uint16_t top = 65535, uint16_t prescaler = 1)'' ===== コマンド ===== ^ コマンド ^ 引数 ^ 戻り値 ^ 動作 ^ | ''analogWriteInit(ch, top, prescaler)'' | ''uint8_t ch''\\ ''uint16_t top = 65535''\\ ''uint16_t prescaler = 1'' | ''void'' | 出力タイマの分解能と分周比を設定します。 | ===== 使用例 ===== void setup() { analogWriteInit(0, 65535, 1); // 出力タイマの分解能と分周比を設定します。 analogWrite(0, 32767); // 約50% analogWrite(1, 65535); // 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:analogwritefreq|analogWriteFreq() 詳細説明を見る]] * [[:ja-jp_commands:reference:analogwritemax|analogWriteMax() 詳細説明を見る]] * [[:ja-jp_commands:reference:ianalogwriteinit|IanalogWriteInit() 詳細説明を見る]] * [[:ja-jp_commands:reference:ianalogwrite|IanalogWrite() 詳細説明を見る]] * [[:ja-jp_commands:reference:ianalogwritef|IanalogWritef() 詳細説明を見る]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]