[MSP430DriverLib-3]使用Timer_A讓LED閃爍
阿新 • • 發佈:2018-08-14
cloc void b- put output period div 清除 開始
使用Timer_A。代碼如下:
#include "./DriverLib/driverlib.h" int main() { WDT_A_hold( WDT_A_BASE ); // 關閉看門狗 GPIO_setAsOutputPin( GPIO_PORT_P1, GPIO_PIN0 ); // 配置P1.0為輸出模式 GPIO_setOutputLowOnPin( GPIO_PORT_P1 , GPIO_PIN0 ); // 設置P1.0輸出低電平 Timer_A_initUpModeParam uptimer; // Timer_A初始化變量 uptimer.clockSource = TIMER_A_CLOCKSOURCE_SMCLK; // 配置時鐘源為SMCLK uptimer.clockSourceDivider = TIMER_A_CLOCKSOURCE_DIVIDER_1; // 配置1分頻 uptimer.timerPeriod = 50000; // 配置CCR0 uptimer.timerInterruptEnable_TAIE = TIMER_A_TAIE_INTERRUPT_DISABLE; // 關閉Timer_A中斷 uptimer.captureCompareInterruptEnable_CCR0_CCIE = TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE; // 使能CCR0捕獲比較中斷 uptimer.timerClear = TIMER_A_DO_CLEAR; // 使能清除 uptimer.startTimer = true; // 需要立即開始Timer_A Timer_A_initUpMode( TIMER_A0_BASE , &uptimer ); // 初始化Timer_A __bis_SR_register( LPM0_bits + GIE ); // 進入LPM0,使能中斷 return 0; } #pragma vector = TIMER0_A0_VECTOR __interrupt void TIMER0_A0_ISR(void) { GPIO_toggleOutputOnPin( GPIO_PORT_P1, GPIO_PIN0 ); // 反轉P1.0狀態 }
[MSP430DriverLib-3]使用Timer_A讓LED閃爍