• 締切済み

C言語について(PWM)

申し訳ありません。困っています。プログラムの勉強をしているのですが・・・ 三角波比較法により、ゲート信号を出力するプログラムです。 53: void pev_inverter_set_syncint(int bdn, float tpre); ・ ・ 55: pev_inverter_start_pwm( bdn, ch); プログラムではPWMのところにキャリア同期割り込み時間の設定関数を使っています。 53: void pev_inverter_set_syncint(int bdn, float tpre); キャリア同期割り込みをキャリアの山、または谷の前tpre[μs]時間前に発生するようにセットします。tpre:割り込みタイミングのオフセット[μs]、0~キャリア周期の半分」 55: pev_inverter_start_pwm( bdn, ch); キャリア同期割り込み信号出力の開始を行う関数。 キャリア同期割り込み信号の「山」の部分で割り込みが発生する。 質問です。 (1)キャリア同期割り込み信号とは、三角波のことなんでしょうか? (2)55行目で割り込みのタイミングを設定しているのに、53行目はなぜ必要なのですか? (3)tpre時間の意味がよく分かりません。PWMにどう関係していますか? 僕の浅はかな考えなんですが・・・簡単に言うと 53行目で、キャリア同期割り込み信号の準備をして 55行目で、実際にキャリア同期割り込み信号を出力する そして、u,v,w相の電圧の値と比較して、ゲート信号を作成する という考えであっているんでしょうか?すいません。誰か教えてくれませんか?

みんなの回答

  • myuki1232
  • ベストアンサー率57% (97/170)
回答No.1

(1) おそらくちがいます。 (2) プロトタイプ宣言のように見えます。C言語の基本ですので、教科書を読んで下さい。 (3) 関数名で検索してみたところ、あなたはどこかの会社の製品を使用しているようですね。 その関数の使い方については、私にも推測は出来ますが、その製品のマニュアルに書いてあるはずです。よく読んで下さい。 その製品は一般の人が使うようなものではないはずですから、あなたがよく理解していない限り、このような所で聞いても無駄です。推理の手伝いは出来ますが。 私の推測する所では、 53行目は、ただのプロトタイプ宣言ですが、このようなところにあるのは不自然です。前後を含めてちゃんと写して下さい。 55行目は、簡単な説明書きにある通り、キャリア同期割り込み信号出力の開始を行う関数です。出力させるのであって、出力するのではありません。そのへんはマニュアルを読んで下さい。

2u8fFdD4
質問者

お礼

すいません。わざわざありがとうございました。 まだまだ勉強不足なので,また考えなおしてみます。