クイック質問。どのようにしてこの特定の割り込みで10秒間、1分間割り込みを設定するのですか?私は下のカウンターを使ってみましたが、うまくいきません。このプログラムが待機すると、1秒間中断します。私は通常、10秒の割り込みの間隔を達成するために.... .... ....しかし、彼は日本であり、これらのような時代に教授にMSP430 TIMERA1割り込み
#include <msp430.h>
#define RedLED BIT0
#define GreenLED BIT6
#define RedLEDToggle (P1OUT ^= RedLED)
#define GreenLEDToggle (P1OUT ^= GreenLED)
unsigned int i = 0;
void main(void)
{
WDTCTL = WDTPW|WDTHOLD;
P1DIR = RedLED|GreenLED;
P1OUT = RedLED|GreenLED;
TACTL = TASSEL_2|ID_3|MC_3|TAIE;
TACCR0 = 62500;
_enable_interrupts();
LPM1;
}
#pragma vector=TIMER0_A1_VECTOR
__interrupt void Timer_A(void){
if (int i == 10)
{
switch(TAIV)
{
case 0x02: break;
case 0x04: break;
case 0x0A: RedLEDToggle|GreenLEDToggle;;
break;
}
}
else
{
i++;
}
}
:
このコードは一回10秒の割り込みを呼び出します。一度だけ中断して、もう一度中断しませんか? 1秒ごとに連続していますか?あなたは、いくつかの共通のタイムベースで1割り込みをし、あなたのより高い時間までカウントアップしますか? – engineer14
おそらく長いことですが、TIはマイコンに関する質問をする専用のフォーラムを持っていませんか?私は、MSP430コントローラの正確な知識を持つ多くの専用の組み込みプログラマはいないと思います。 –
もう1つの質問が保留になっているので、私はこの回答にもお答えします。 1つ(または両方)を削除して、1つの質問で再開したい場合があります。 – kfx