锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

TMS320F2812外设例程系列之CpuTimer

时间:2024-04-16 18:07:10

//##################################################################### //文件: Example_281xCpuTimer.c //说明: 定时器应用实例 //##################################################################### #include "D 281x_ .h" #include "DSP281x_Examples.h" //定时器中断服务程序声明 interrupt void cpu_timer0_isr(void); //主程序 void main(void) { //Step 1. 初始化系统控制 InitSysCtrl(); //初始化系统控制寄存器、PLL、看门狗和时种 //Step 2. 初始化 GPIO //InitGpio(); //本例中没有使用,跳过 //Step 3. 清除所有中断,初始化PIE中断向量表 DI ; //关 中断 InitPieCtrl(); //初始化PIE控制寄存器组到默认状态,这个子程序在DSP281x_PieCtrl.c IER = 0x0000; //禁止所有CPU中断 IFR = 0x0000; //清除所有CPU中断标志位 InitPieVectTable(); //初始化PIE中断向量表,这个子程序在DSP281x_PieVect.c EALLOW; //关保护 PieVectTable. NT0 = &cpu_timer0_isr; //中断向量指向中断服务程序 EDIS; //开保护 //Step 4. 初始化所有片内外设 //InitPeripherals(); //没有使用,跳过,在DSP281x_InitPeripherals.c InitCpuTimers(); //初始化定时器寄存器组 ConfigCpuTimer(&CpuTimer0, 100, 1000000); //配置CPU-Timer 0 中断周期为1s,100MHz CPU频率,可以根据频率改变实参 StartCpuTimer0(); //启动定时器 0 //Step 5. 用户代码,打开中断 IER |= M_INT1; //使能第一组PIE中断 PieCtrlRegs.PIEIER1.bit.INTx7 = 1; //使能第一组的中断7 EINT; //使能全局中断 ERTM; //使能DEBUG中断 //Step 6. 空循环,等待中断 for(;;); } //中断服务子程序 interrupt void cpu_timer0_isr(void) { CpuTimer0.InterruptCount++; //用户可以在此处添加自己的代码,以完成某些特定的功能 PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; //响应这个中断,以便CPU继续接收第1组中断 }
-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章