別の割り込みベクタの中で割り込みベクタをコールすることはできますか?例えば他の割り込みベクタ内の割り込みベクタを呼び出す
、私はep4inoutの手順をやっている間、割り込みベクタ:
void ep4inout interrupt 0
{
.
.
.
Timer1 = 1; //call interrupt for timer 1
.
.
.
}
編集
私のコードは、おおよそ次のようになります。タイマ1 = 1は、タイマ1の割り込み要求がセットされていることを示します。タイマー1 ISRの私の手順は機能しません。 FX2LPのマニュアルでは、タイマー1の方がエンドポイントバッファよりも高い優先度を持っています。タイマー1の優先度を高く、エンドポイント4を低く設定しようとしました。それでも同じ結果。私のIDEとしてKeil uVision2を使用し、私のマイクロコントローラはCypress FX2LP(enchanced 8051 - USBコントローラ)です。
void ISR_Ep4inout(void) interrupt 0
{
.
.
.
Timer1Enable = 1;
Timer1 = 1; //call interrupt for timer 1
.
.
.
}
void TMR1_Vect(void) interrupt 2 //timer 1 interrupt
{
.
.
.
}
void TMR1_Vect interrupt 0 //timer 1 interrupt
{
.
.
.
}
返信いただきありがとうございます。私のKeil uVision 2を使用して私のマイクロコントローラはサイプレスFX2LPです。タイマー1のISRをテストした後、私の手続きは中断されません。タイマー1は、タイマー1の割り込みが呼び出されたことを意味します。ところで、エンドポイント4の優先順位は何ですか? –
@FranzMationg元の質問を編集してこの情報を追加するとよいでしょう。このサイトは、あなただけでなく、同じまたは類似の質問をしているすべての人に役立つように意図されています。さらに、Cypress USBコントローラファミリに精通していないユーザーにとっては、プロセッサが強化された8051の実装であると述べると便利です。 –