messier
Ban Chủ Nhiệm
Buổi học tuần tới chúng ta sẽ tiếp tục với phần còn lại của module timer. Các em ôn lại kiến thức đã học ở bài trước, thử các mode khác của timer và xem các slide kế tiếp của bài học.
Code học timer ngày 9-11:
Code học timer ngày 9-11:
Code:
#include <msp430.h>
void setup_timer(void){
TA0CTL = TASSEL_2 + ID_3 + MC_1 + TAIE + TACLR;
//TA0CCTL0 = CCIE;
//TA0CCTL2 = CCIE;
TA0CCR0 = 62500;
TA0CCR2 = 1234;
}
void setup_port(void){
P1SEL = 0;
P1SEL2 = 0;
P1DIR |= BIT0 + BIT6;
}
int main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
_bis_SR_register(GIE);
setup_port();
setup_timer();
while(1){
P1OUT ^= BIT6;
__delay_cycles(200000);
}
return 0;
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void timer0_a0_isr(){
P1OUT ^= BIT0;
}
#pragma vector=TIMER0_A1_VECTOR
__interrupt void timer0_a1_isr(){
switch(TA0IV){
case 0x02:
break;
case 0x04:
break;
case 0x0a:
P1OUT ^= BIT0;
break;
default:
break;
}
}