B
Beenaplaye
Guest
Ahoj kluci,Můj program doesnt jít na přerušení rutinní z TimerB nebo TimerA.
Kód:int main (void)
(
/ / Stop watchdog časovač, aby se zabránilo time out reset
WDTCTL = WDTPW WDTHOLD;
DCOCTL = 7;
BCSCTL1 & = 0x7F;
/ / Nastavení hodin na 8.000Mhz hodiny a položila ji na MCLK a SMCLK
dělat
(
unsigned char i = 0xFF;
IFG1 & = ~ OFIFG; / / Clear OSCFault vlajky
for (; i> 0; i -) / / Je čas na vlajku pro nastavení
)
zatímco ((IFG1 & OFIFG) == OFIFG); / / OSCFault vlajka ještě nastavit?
BCSCTL2 | = 0x8A, / / MCLK = XT2 (bezpečné) SMCLK = XT2 / 2P4SEL | = 0x40;
P4DIR | = 0x40;TBCCR0 = 200; / / geeft een Periode van 5kHz bij 8 MHz hodiny
TBCCR6 = 100; / / genereerd negatieve klenout voor scherm
TBCCR1 = 20;
TBCCTL0 = 0; / / povolit přerušení časovače CCIFG0
TBCCTL1 = CCIE; / / povolit přerušení časovače CCIFG0
TBCCTL6 = 0x00C0; / / Mode 6 PWM op uitgang TB6
TBCTL = 0x02D6; / / start časovačTACCTL0 = 0;
TACCR0 = 200;
TACTL = 0x02D6; / / start časovač
/ / Return 0;
)# Pragma vektor = TIMERB0_VECTOR
__interrupt neplatné Timer_B0_ISR (void)
(
P2OUT ^ = 0x01
# Pragma vektor = TIMERA0_VECTOR
__interrupt neplatné Timer_A0_ISR (void)
(
P2OUT ^ = 0x01;
)
Kód:int main (void)
(
/ / Stop watchdog časovač, aby se zabránilo time out reset
WDTCTL = WDTPW WDTHOLD;
DCOCTL = 7;
BCSCTL1 & = 0x7F;
/ / Nastavení hodin na 8.000Mhz hodiny a položila ji na MCLK a SMCLK
dělat
(
unsigned char i = 0xFF;
IFG1 & = ~ OFIFG; / / Clear OSCFault vlajky
for (; i> 0; i -) / / Je čas na vlajku pro nastavení
)
zatímco ((IFG1 & OFIFG) == OFIFG); / / OSCFault vlajka ještě nastavit?
BCSCTL2 | = 0x8A, / / MCLK = XT2 (bezpečné) SMCLK = XT2 / 2P4SEL | = 0x40;
P4DIR | = 0x40;TBCCR0 = 200; / / geeft een Periode van 5kHz bij 8 MHz hodiny
TBCCR6 = 100; / / genereerd negatieve klenout voor scherm
TBCCR1 = 20;
TBCCTL0 = 0; / / povolit přerušení časovače CCIFG0
TBCCTL1 = CCIE; / / povolit přerušení časovače CCIFG0
TBCCTL6 = 0x00C0; / / Mode 6 PWM op uitgang TB6
TBCTL = 0x02D6; / / start časovačTACCTL0 = 0;
TACCR0 = 200;
TACTL = 0x02D6; / / start časovač
/ / Return 0;
)# Pragma vektor = TIMERB0_VECTOR
__interrupt neplatné Timer_B0_ISR (void)
(
P2OUT ^ = 0x01
__interrupt neplatné Timer_A0_ISR (void)
(
P2OUT ^ = 0x01;
)