版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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灯具采购合同范本
- 2024标准版车位租赁合同
- 2024汽车销售合同标准版范本
- 考核奖惩制度相关总结汇报
- 2024年秋九年级化学上册 第7单元 燃料及其利用 课题2 燃料的合理利用与开发 第2课时 使用燃料对环境的影响 能源的利用和开发教案 (新版)新人教版
- 2024安置地地基转让合同
- 2024年九年级语文下册 第三单元 第11课 送东阳马生序教案 新人教版
- 综合项目管理系统监管情况考核汇 总表
- 2024年高中语文 第八单元 15 谏太宗十思疏 答司马谏议书教案 新人教版必修下册
- 2024年高中化学 第一章 认识有机化合物 第四节 第2课时 元素分析与相对分子质量的测定 分子结构的鉴定教案 新人教版选修5
- 北京市地铁运营有限公司招聘笔试题库2024
- 2024-2025学年小学安全教育科学实验教学设计
- 北京市定向选调笔试真题2022
- Unit 2 Learning English is fun!Lesson 1 How do you like English 教学设计- 2024-2025学年英语冀教版(2024版)七年级上册
- 2024胃肠间质瘤(GIST)诊疗指南更新解读
- 湖南文艺出版社小学三年级音乐上册(简谱)全套课件
- 2024-2030年中国智能笔记本行业市场发展趋势与前景展望战略分析报告
- 建筑工程项目合作保证金协议书
- 热力发电厂课程设计660MW凝汽式发电机组全厂原则性热力系统的设计
- 抗风柱计算结果
- 部编人教版六年级上册语文PPT课件 16-盼 - 第一课时
评论
0/150
提交评论