dポイントプレゼントキャンペーン実施中!

申し訳ありません。困っています。プログラムの勉強をしているのですが・・・
三角波比較法により、ゲート信号を出力するプログラムです。

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相の電圧の値と比較して、ゲート信号を作成する

という考えであっているんでしょうか?すいません。誰か教えてくれませんか?

A 回答 (1件)

(1)


おそらくちがいます。
(2)
プロトタイプ宣言のように見えます。C言語の基本ですので、教科書を読んで下さい。
(3)
関数名で検索してみたところ、あなたはどこかの会社の製品を使用しているようですね。
その関数の使い方については、私にも推測は出来ますが、その製品のマニュアルに書いてあるはずです。よく読んで下さい。
その製品は一般の人が使うようなものではないはずですから、あなたがよく理解していない限り、このような所で聞いても無駄です。推理の手伝いは出来ますが。

私の推測する所では、
53行目は、ただのプロトタイプ宣言ですが、このようなところにあるのは不自然です。前後を含めてちゃんと写して下さい。
55行目は、簡単な説明書きにある通り、キャリア同期割り込み信号出力の開始を行う関数です。出力させるのであって、出力するのではありません。そのへんはマニュアルを読んで下さい。
    • good
    • 0
この回答へのお礼

すいません。わざわざありがとうございました。

まだまだ勉強不足なので,また考えなおしてみます。

お礼日時:2011/11/02 13:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!