




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024~2025学年河南禹州七年级数册中考试试题
- 工艺集成与模块化设计研究考核试卷
- 低温仓储设备维护保养培训体系构建考核试卷
- 江苏省苏州市振华中学校2025年中考二模语文试题(含答案)
- 公路养护机械设备选型与人才培养考核试卷
- 数据治理与IT管理协同考核试卷
- 员工招聘与组织变革适应性分析考核试卷
- 稳定性试验设计与实施考核试卷
- 2025年中国PE光纤套管数据监测研究报告
- 2025年中国L-精氨酸盐酸盐数据监测研究报告
- 人教版(2024)七年级下册英语全册教案(8个单元整体教学设计)
- 2024届四川凉山州数学高二第二学期期末考试试题含解析
- 铝压延加工材项目评估报告
- (环境管理)环境保护与水土保持监理实施细则
- 云南省昆明市官渡区2022-2023学年七年级下学期期末语文试题(含答案)
- 管道护理业务学习课件
- 新求精德语强化教程初级1(第四版)
- GB/T 18601-2001天然花岗石建筑板材
- 汽封加热器 说明书
- 07劳动力及资源配备计划
- 精馏-化工分离工程课件
评论
0/150
提交评论