#include "DSP28_Device.h"
//---------------------------------------------------------------------------
// INT13, INT14, NMI, XINT1, XINT2 Default ISRs:
//
interrupt void INT13_ISR(void) // INT13 or CPU-Timer1
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void INT14_ISR(void) // CPU-Timer2
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void NMI_ISR(void) // Non-maskable interrupt
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void XINT1_ISR(void)
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void XINT2_ISR(void)
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
//---------------------------------------------------------------------------
// DATALOG, RTOSINT, EMUINT, RTOS Default ISRs:
//
interrupt void DATALOG_ISR(void) // Datalogging interrupt
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void RTOSINT_ISR(void) // RTOS interrupt
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void EMUINT_ISR(void) // Emulation interrupt
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
//---------------------------------------------------------------------------
// ILLEGAL Instruction Trap ISR:
//
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
// Insert ISR Code here
asm(" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
//---------------------------------------------------------------------------
// USER Traps Default ISRs:
//
interrupt void USER0_ISR(void) // User Defined trap 0
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER1_ISR(void) // User Defined trap 1
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER2_ISR(void) // User Defined trap 2
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER3_ISR(void) // User Defined trap 3
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER4_ISR(void) // User Defined trap 4
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER5_ISR(void) // User Defined trap 5
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER6_ISR(void) // User Defined trap 6
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER7_ISR(void) // User Defined trap 7
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER8_ISR(void) // User Defined trap 8
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER9_ISR(void) // User Defined trap 9
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER10_ISR(void) // User Defined trap 10
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
interrupt void USER11_ISR(void) // User Defined trap 11
{
// Insert ISR Code here
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
//---------------------------------------------------------------------------
// ADC Default ISR:
//
interrupt void ADCINT_ISR(void) // ADC
{
// Insert ISR Code here
// To recieve more interrupts from this PIE group, acknowledge this interrupt
// PieCtrl.PIEACK.all = PIEACK_GROUP1;
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
//---------------------------------------------------------------------------
// CPU Timer 0 Default ISR:
//
interrupt void TINT0_ISR(void) // CPU-Timer 0
{
// Insert ISR Code here
// To recieve more interrupts from this PIE group, acknowledge this interrupt
// PieCtrl.PIEACK.all = PIEACK_GROUP1;
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
//---------------------------------------------------------------------------
// Watchdog Default ISR:
//
interrupt void WAKEINT_ISR(void) // WD
{
// Insert ISR Code here
// To recieve more interrupts from this PIE group, acknowledge this interrupt
// PieCtrl.PIEACK.all = PIEACK_GROUP1;
// Next two lines for debug only - remove after inserting
// ISR Code
asm (" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
//---------------------------------------------------------------------------
// EV-A Default ISRs:
//
interrupt void PDPINTA_ISR( void ) // EV-A
{
// Insert ISR Code here
// To recieve more interrupts from this PIE group, acknowledge this interrupt
CpuTimer0.rar_cputime0
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
《DSP 2812定时器程序解析及应用》 在数字信号处理(DSP)领域,定时器的正确使用和理解至关重要。本文将深入探讨基于TI公司的TMS320C2812 DSP芯片的CpuTimer0,通过一个名为"EX01_CpuTimer0"的实例来解析其工作原理和应用方法。 TMS320C2812是一款高性能、低功耗的16位浮点DSP,广泛应用于音频、视频、通信以及工业控制等领域。其中,CpuTimer0是内置的一种定时器资源,它能够提供精确的时间间隔测量和定时功能,对于系统调度和实时处理有着显著作用。 CpuTimer0的基本结构与特性: 1. **计数模式**:CpuTimer0可以在递增或递减模式下工作,根据预设的计数初值和计数方向进行计数。 2. **中断功能**:当计数值达到预设阈值时,可以触发中断,供处理器执行相应的处理任务。 3. **预分频器**:CpuTimer0允许用户通过预分频器调整计数频率,以适应不同的时钟速度需求。 4. **比较匹配**:设置比较寄存器,当计数值与比较寄存器值匹配时,可触发特定事件或中断。 "EX01_CpuTimer0"实例分析: 该实例程序展示了如何初始化CpuTimer0,设置计数模式、预分频器和比较匹配,并处理相关中断。我们需要配置CpuTimer0的工作模式,包括选择时钟源、设定计数方向和预分频系数。然后,设置比较寄存器值,以便在达到特定时间点时产生中断。 中断服务函数是CpuTimer0的核心部分,它处理中断请求,可能涉及更新计数器状态、重置计数器或执行其他任务。在"EX01_CpuTimer0"中,我们可能会看到如何注册和调用中断处理程序,以及如何在中断处理中实现计时功能。 实际应用: 1. **系统调度**:CpuTimer0可以用于周期性任务调度,例如轮询多个任务或者定时唤醒休眠的子系统。 2. **采样控制**:在数据采集系统中,定时器可以确保采样速率的稳定,例如音频和视频处理中的采样时刻控制。 3. **实时通信**:在通信协议中,定时器常用于超时检测,保证数据传输的可靠性。 总结,通过对"EX01_CpuTimer0"实例的解析,我们可以深入理解TMS320C2812 DSP中的CpuTimer0定时器的使用方法。无论是对初学者还是经验丰富的开发者,掌握这一关键功能都能提升系统设计的灵活性和效率。在实际工程应用中,灵活运用定时器能有效解决各种时间同步和控制问题,为DSP系统的高效运行提供强大支持。
- 1
- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- 粉丝: 99
- 资源: 1万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 电池管理系统BMS,BMS菊花链通信系统,主板+从板 S32K144+LTC6804 LTC6811 LTC6813,原理图+源代码
- PMSM永磁同步电机Pi控制,滑模控制simulink模型 无位置传感器模型
- 关键词:光伏聚类 K-means聚类 时间序列 编程语言:matlab 主题:基于k-means算法的光伏时间序列聚类 主要内容: 本代码研究大量随机场景下光伏序列聚类与削减问题,首先,生成大量
- 关键词:储能容量优化 储能配置 微网 编程语言:matlab 主题:基于混合整数规划方法的微网电池储能容量优化配置 主要内容: 本代码目的为实现微电网内电池容量的优化配置,目标函数为配置过程中整体
- 信捷plc与台达变频器modbus rtu通讯程序 程序有注释 触摸屏是tg765,plc是xc3、xc5都可以,其他型号没试过,变频器是vfd-m
- FX5u控制4个伺服,一个完整的项目 程序用 标签分层,说明了定位控制中的公共参数设定、回原点、JOG手动、绝对定位、相对定位、控制等部分,威纶程序报警界面.多个机种选择,手动,自动,暂停,包括有:
- 遗传算法,分布式电源选址定容 以IEEE33节点系统为算例,以年最低综合成本为目标函数,四个约束条件,用改进自适应遗传算法进行定容选址 最终得出分布式电源接入位置及在该位置处接入容量,迭代图,以及
- ABB机器人C#上位机,操作机器人动作及读写机器人数据 ABB机器人操作类,程序包含运行数据记录,设备报警信息显示,项目比较完整,适合自己做二次开发
- 强化学习算法,DDPG算法,在simulink或MATLAB中编写强化学习算法,基于强化学习的自适应pid,基于强化学习的模型预测控制算法,基于RL的MPC,Reinforcement learnin
- 双有源桥(DAB)psim simulink闭环控制仿真,SPS DPS TPS控制均可,图中显示了sps控制的负载阶跃响应全新
- 模型预测电流控制+MRAS参数辨识
- 在线考试系统,前后端不离分离,我的主页还有另一个前后端分离的 ,可远程帮忙部署调试哦 技术 * 前端 * Html Css JavaScript * Bootstrap * jQuery
- 一个磷酸铁锂体系电池comsol模型 电化学热耦合模型 可做容量衰减,极化,老化,电势降等等 参数已配置,电化学行为分布及生热研究 设及技术专业
- 三菱plc标准小程序,含昆仑通态触摸屏程序(触摸屏附带配方功能,项目功能完整,该程序为标准框架,故障,复位,自动,手动,,轴定回原点定位功能,程序结构清晰,构架适用所有项目,有完整的地址分配
- 基于51单片机的温度控制直流电机转速proteus仿真设计,有程序工程文件以及参考代码,需 基于单片机的温度控制系统 达到一定温度启动电机,电机转速随温 度升高而提高,低于一定温度电机停止转动,资料
- 轮毂电机分布式驱动电动汽车,转向电机失效稳定性控制 Matlab Simulink 软件使用:Matlab Simulink 适用场景:轮毂电机分布式驱动电动汽车部分转向电机失效稳定性控制(单个转向轮