====== PWM() ====== ''PWM()''は指定したピンに8ビットまたは16ビットPWMを出力します。 {{:ja-jp_commands:reference:pwm.svg?900|PWM コマンドの動作フロー}} ''void PWM(uint8_t pin, uint16_t val, bool onDutybit16 = false)'' ===== コマンド ===== ^ コマンド ^ 引数 ^ 戻り値 ^ 動作 ^ | ''PWM(pin, val, onDutybit16)'' | ''uint8_t pin''\\ ''uint16_t val''\\ ''bool onDutybit16 = false'' | ''void'' | 指定したピンに8ビットまたは16ビットPWMを出力します。 | ===== 使用例 ===== void setup() { IpidSet(1, 5.0, 0.5, 1.0, 100, 0, 65535); // PID係数、計算周期、出力範囲を設定します。 } void loop() { float pv = ntcReadf(4); // NTC 3950 10kΩセンサの温度を℃単位の浮動小数点値で返します。 float sv = 50.0; uint16_t output = (uint16_t)IpidRun(1, pv, sv); // 現在値と設定値からPID出力を計算します。 PWM(12, output, true); // 指定ピンに8ビットまたは16ビットPWMを出力します。 } ===== 注意事項 ===== * 製品ごとのPWMピンとタイマ共有関係を確認します。 * 周波数や分解能を変更すると、同じタイマの他のチャネルにも影響する場合があります。 * 出力の停止・初期化時に接続負荷が安全な状態であることを確認します。 ===== 同じカテゴリの内蔵コマンド ===== * [[:ja-jp_commands:reference:fdpwm|FDPWM() 詳細説明を見る]] * [[:ja-jp_commands:reference:pwmoff|PWMOFF() 詳細説明を見る]] * [[:ja-jp_commands:reference:pwm_reset|PWM_RESET() 詳細説明を見る]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]