版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TMS320F2812外设例程系列之EvTimerPeriod/# #/ 文件 : Example_281xEvTimerPeriod.c/说明:配置EVA定时器1, EVA定时器2, EVB定时器3, 定时器 4 为周期溢出中断。/每进行一次中断响应计数器加1。EVA定时器1的周期最短,EVB定时器4的周期最长/ 测试变量 :/ EvaTimer1InterruptCount;/ EvaTimer2InterruptCount;/ EvbTimer3InterruptCount;/ EvbTimer4InterruptCount;/# #include "DSP281x_D
2、evice.h"#include "DSP281x_Examples.h"/ 功能函数原型interrupt void eva_timer1_isr(void);interrupt void eva_timer2_isr(void);interrupt void evb_timer3_isr(void);interrupt void evb_timer4_isr(void);void init_eva_timer1(void);void init_eva_timer2(void);void init_evb_timer3(void);voi
3、d init_evb_timer4(void);/ 全局变量Uint32 EvaTimer1InterruptCount;Uint32 EvaTimer2InterruptCount;Uint32 EvbTimer3InterruptCount;Uint32 EvbTimer4InterruptCount;/ 主程序void main(void)/ 步骤 1. 初始化系统控制 (PLL ,看门狗,使能外设时 钟)InitSysCtrl();/ 步骤 2. 初始化 GPIO/InitGpio(); /本例中跳过/ 步骤 3. 清除所有中断并初始化 PIE 中断向量表,禁止CPU中断DINT;/
4、初始化 PIE 控制寄存器InitPieCtrl();/禁止CPU中断并清除所有 CPU中断IER = 0x0000;IFR = 0x0000;/ 初始化 PIE 中断向量表InitPieVectTable();/ 本例中用到的中断映射EALLOW;PieVectTable.T1PINT = &eva_timer1_isr;PieVectTable.T2PINT = &eva_timer2_isr;PieVectTable.T3PINT = &evb_timer3_isr;PieVectTable.T4PINT = &evb_timer4_isr;EDIS;/
5、步骤 4. 初始化所有外设/InitPeripherals(); /本例中不需要,可以跳过init_eva_timer1();init_eva_timer2();init_evb_timer3(); init_evb_timer4();/ 步骤 5. 使能中断/ 初始化计数值为 0EvaTimer1InterruptCount = 0;EvaTimer2InterruptCount = 0;EvbTimer3InterruptCount = 0;EvbTimer4InterruptCount = 0;PieCtrlRegs.PIEIER2.all = M_INT4; /使能INT2.4(T1P
6、INT)PieCtrlRegs.PIEIER3.all = M_INT1; /使能INT3.1(T2PINT)PieCtrlRegs.PIEIER4.all = M_INT4; /使能INT4.4(T3PINT)PieCtrlRegs.PIEIER5.all = M_INT1; /使能INT5.1(T4PINT)/ 使能 CPU中断 INT2(T1PINT) 、 INT3(T2PINT)、 INT4(T3PINT) 、 INT5(T4PINT)IER |= (M_INT2 | M_INT3 | M_INT4 | M_INT5);/使能全局中断和全局实时DBGM中断EINT; / 使能全局中断
7、INTMERTM; / 使能全局实时中断 DBGM/ 步骤 6. 空循环for(;);/EVA 定时器 1 初始化程序void init_eva_timer1(void)/ 初始化 EVA 定时器 1: 配置定时器 1 寄存器组 (EVA)EvaRegs.GPTCONA.all = 0;/ 配置通用定时器 1 周期为 0x0200EvaRegs.T1PR = 0x0200; / 周期EvaRegs.T1CMPR = 0x0000; / 比较寄存器值/ 使能通用定时器 1 周期中断位、递增计数、内部时 钟模式、使能比较EvaRegs.EVAIMRA.bit.T1PINT = 1;EvaRegs.
8、EVAIFRA.bit.T1PINT = 1;EvaRegs.T1CNT = 0x0000; / 清除通用定时器 1 的 计数器EvaRegs.T1CON.all = 0x1742;EvaRegs.GPTCONA.bit.T1TOADC = 2; / 定时器 1 周期 中断启动 EVA ADC 转换/EVA 定时器 2 初始化程序void init_eva_timer2(void)/ 初始化 EVA 定时器 2: 设置定时器 2 寄存器组 (EV A)EvaRegs.GPTCONA.all = 0;/ 配置通用定时器 2 的周期为 0x0200;EvaRegs.T2PR = 0x0400; /
9、 周期EvaRegs.T2CMPR = 0x0000; / 比较寄存器/ 使能通用定时器 2 周期中断、递增计数、内部时钟 模式、使能比较EvaRegs.EVAIMRB.bit.T2PINT = 1;EvaRegs.EVAIFRB.bit.T2PINT = 1;EvaRegs.T2CNT = 0x0000; / 清除通用定时器 2 的 计数器EvaRegs.T2CON.all = 0x1742;EvaRegs.GPTCONA.bit.T2TOADC = 2; / 周期中断启动EVA ADC专换/EVB 定时器 3 初始化程序void init_evb_timer3(void)/初始化EVB定时
10、器3:/ 设置定时器 3寄存器组 (EV B)EvbRegs.GPTCONB.all = 0;/ 配置通用定时器 3 的周期为 0x0200;EvbRegs.T3PR = 0x0800; / 周期EvbRegs.T3CMPR = 0x0000; / 比较寄存器/ 使能通用定时器 3 周期中断、递增计数、内部时钟 模式、使能比较EvbRegs.EVBIMRA.bit.T3PINT = 1;EvbRegs.EVBIFRA.bit.T3PINT = 1;EvbRegs.T3CNT = 0x0000; / 清除通用定时器 3 的计 数器EvbRegs.T3CON.all = 0x1742;EvbReg
11、s.GPTCONB.bit.T3TOADC = 2; / 定时器 3 周期 中断启动EVA ADC专换/EVB 定时器 4 初始化程序void init_evb_timer4(void)/初始化EVB定时器4:/ 设置定时器 4寄存器 (EV B)EvbRegs.GPTCONB.all = 0;/ 配置通用定时器 4 的周期为 0x0200;EvbRegs.T4PR = 0x1000; / 周期EvbRegs.T4CMPR = 0x0000; / 比较寄存器/ 使能通用定时器 4 周期中断、递增计数、内部时钟 模式、使能比较EvbRegs.EVBIMRB.bit.T4PINT = 1;EvbR
12、egs.EVBIFRB.bit.T4PINT = 1;EvbRegs.T4CNT = 0x0000; / 清除通用定时器 4 的计 数器EvbRegs.T4CON.all = 0x1742;EvbRegs.GPTCONB.bit.T4TOADC = 2; / 定时器 4 周期 中断启动EVA ADC专换/EVA 定时器 1 中断服务程序interrupt void eva_timer1_isr(void)EvaTimer1InterruptCount+;EvaRegs.EVAIMRA.bit.T1PINT = 1; / 使能来自这个定 时器的更多的中断EvaRegs.EVAIFRA.all =
13、 BIT7; /注意,为了安全,写一个掩码到程序整体PieCtrlRegs.PIEACK.all = PIEACK_GROUP2;/ 应答中断接收更多的来自 PIE 第 2 组的中断/EVA 定时器 2 中断服务程序 interrupt void eva_timer2_isr(void) EvaTimer2InterruptCount+;/ 使能来自这个定时器的更多的中断 EvaRegs.EVAIMRB.bit.T2PINT = 1;EvaRegs.EVAIFRB.all = BIT0; / 注意,为了安全, 写一个掩码到程序整体PieCtrlRegs.PIEACK.all = PIEACK_GROUP3;/ 应答中断接收更多的来自 PIE 第 3 组的中断 /EVB 定时器 3 中断服务程序 interrupt void evb_timer3_isr(void) EvbTimer3InterruptCount+;EvbRegs.EVBIFRA.all = BIT7; / 注意,为了安全, 写一个掩码到程序整体PieCtrlRegs.PIEACK.all = PIEACK_GROUP4;/ 应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第30课《系统安全需升级》测试题2025-2026学年人教版八年级信息科技全一册
- 《GB-T 24438.3-2012自然灾害灾情统计 第3部分:分层随机抽样统计方法》专题研究报告
- 《GBT 21595-2008 危险品便携式罐体撞击试验方法》专题研究报告
- 《GBT 14993-2008转动部件用高温合金热轧棒材》专题研究报告
- 《GB 4706.85-2008家用和类似用途电器的安全 紫外线和红外线辐射皮肤器具的特殊要求》专题研究报告
- 道路危险运输安全培训课件
- 道路交通安全培训素材课件
- 道路交通培训课件
- 2025-2026年苏教版八年级语文上册期末题库试题附答案
- 迪奥项链介绍
- 2025届高考语文一轮复习:二元思辨类作文思辨关系高阶思维
- 预制混凝土构件质量控制
- 德佑房屋买卖合同
- 健康管理方案设计案例分析
- 2024高考英语应用文写作真题手把手:2023全国乙卷素材
- 玻璃加工公司管理制度
- 七年级数学一元一次方程应用题复习题及答案
- 储能电站检修规程
- 离婚冷静期制度的构建与完善
- 外挂钢楼梯专项施工方案
- 企业尽职调查内容提纲-中英文对照
评论
0/150
提交评论