使用driverlib库函数
以TA3为例
前期配置
时钟源
信号源
flash
//Flash
FlashCtl_setWaitState(FLASH_BANK0,1);
FlashCtl_setWaitState(FLASH_BANK1,1);
//PCM state
PCM_setPowerState(PCM_AM_LDO_VCORE1);
//CS configure
CS_setDCOCenteredFrequency(CS_DCO_FREQUENCY_48);
配置定时器 Config
参数配置结构体 config
开始定时器 start
使能定时器中断 (清空标志位、打开定时器的中断)
Timer_A_UpModeConfig Timer3_Config=
{
TIMER_A_CLOCKSOURCE_SMCLK, //48MHZ
TIMER_A_CLOCKSOURCE_DIVIDER_48, //48/48 = 1 MHZ
1000-1, //1KHZ
TIMER_A_TAIE_INTERRUPT_ENABLE,
TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE,
TIMER_A_DO_CLEAR
};
Timer_A_configureUpMode(TIMER_A3_BASE,&Timer3_Config); //配置定时器
Timer_A_startCounter(TIMER_A3_BASE,TIMER_A_UP_MODE); //开始计数
Timer_A_clearInterruptFlag(TIMER_A3_BASE); //清空标志位
Timer_A_enableInterrupt(TIMER_A3_BASE); //开启定时器中断
使能总中断
中断两个里边都要开启
Interrupt_enableInterrupt(INT_TA3_0); //定时器中断
Interrupt_enableSleepOnIsrExit();
Interrupt_enableMaster(); // 总中断
中断服务函数 TA3_0_IRQHandler
void TA3_0_IRQHandler (void)
{
uint32_t status = Timer_A_getInterruptStatus(TIMER_A3_BASE);
//Timer_A_clearInterruptFlag(status);
//Timer_A_clearInterruptFlag(TIMER_A3_BASE);
Timer_A_clearCaptureCompareInterrupt(TIMER_A3_BASE,TIMER_A_CAPTURECOMPARE_REGISTER_0);
//必须清空CCR0寄存器的值,才能实现清空标志位,清零CCR0才有效
// 自行指定
GPIO_toggleOutputOnPin(GPIO_PORT_P1,GPIO_PIN0);
}
上一篇:MSP432笔记——单路ADC采样
下一篇:MSP432笔记——按键中断
设计资源 培训 开发板 精华推荐
- 具有 ATmega1281 AVR 微控制器的天线分集 2.4 GHz 无线电收发器
- ADP2166 1.2V、5A/6A、620 kHz的典型应用,通过浮动RT引脚降压稳压器应用
- 使用 Analog Devices 的 LT1764AEQ-1.5 的参考设计
- 【专业版】V2.43-2.9寸SD墨水屏阅读器
- LTC2634-LMI8 四路、8 位数模转换器的典型应用
- NCV4269C 5.0 V 微功率 150 mA LDO 线性稳压器的典型应用电路,具有延迟、可调复位和检测输出
- 具有模拟负载的 LT1307IS8 升压转换器的典型应用电路
- 不同电压域下的典型应用电路 - VBAT 域中的 SR 输入(如 VCC)完全禁用基于 SR1HARU 的测试模式
- 全分立NE555
- ADM00658,用于 HV7351 超声 Tx 波束形成器的 DB2 演示板