这篇文章给大家介绍如何使用Timer_A让LED闪烁,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
使用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状态
}
关于如何使用Timer_A让LED闪烁就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/3907010/blog/1927792