当前位置: 首页 > news >正文

郑州做网站好百度指数搜索热度大学

郑州做网站好,百度指数搜索热度大学,郑州网站建设优化企业,杭州疫情最新数据消息1.定时器介绍 1.1 定时器工作原理 TMS320F28335的CPU Time有三个,分别为Timer0,Timer1,Timer2,其中Timer2是为操作系统DSP/BIOS保留的,当未移植操作系统时,可用来做普通的定时器。这三个定时器的中断信号分…

1.定时器介绍

     1.1 定时器工作原理

      TMS320F28335的CPU Time有三个,分别为Timer0,Timer1,Timer2,其中Timer2是为操作系统DSP/BIOS保留的,当未移植操作系统时,可用来做普通的定时器。这三个定时器的中断信号分别为TINT0, TINT1, TINT2,分别对应于中断向量INT1,INT13,INT14。

       1.2 定时器相关寄存器 

 

1.3.定时器配置步骤 

          定时器相关库函数在DSP2833x_CpuTimers.c文件中

(1)使能定时器时钟

EALLOW;

SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1; // CPU Timer 0

EDIS;

(2)初始化定时器参数,包括制定定时器寄存器地址、周期寄存器值、预定标计数器值等

//指向定时器0的寄存器地址

CpuTimer0.RegsAddr = &CpuTimer0Regs;

//设置定时器0的周期寄存器值

CpuTimer0Regs.PRD.all  = 0xFFFFFFFF;

//设置定时器预定标计数器值为0

CpuTimer0Regs.TPR.all  = 0; CpuTimer0Regs.TPRH.all = 0;

//确保定时器0为停止状态

CpuTimer0Regs.TCR.bit.TSS = 1;

//重载使能

CpuTimer0Regs.TCR.bit.TRB = 1;

// Reset interrupt counters:

CpuTimer0.InterruptCount = 0;

(3)定时器的设置 TI提供的库函数“DSP2833x_CpuTimers.c”内已经有函数实现

void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period)

(4)开启定时器中断功能,并使能定时器

//设置定时器0的中断入口地址为中断向量表的INT0

EALLOW;

PieVectTable.TINT0 = &TIM0_IRQn;

EDIS;

//开始定时器功能

CpuTimer0Regs.TCR.bit.TSS=0;

//开启CPU第一组中断并使能第一组中断的第7个小中断,即定时器0

IER |= M_INT1;

PieCtrlRegs.PIEIER1.bit.INTx7 = 1;

//使能总中断 EINT;

ERTM;

(5)编写定时器中断服务函数

interrupt void TIM0_IRQn(void)

{     ......功能程序 }

实验

  本章所要实现的功能是:通过Timer0中断控制 D2 指示灯闪烁,主函数控制 D1 指示灯闪烁提示系统运行状态。程序框架如下:

(1)初始化定时器0,并使能相应中断

(2)编写定时器0中断函数

(3)编写主函数

LED程序参考前面的博客,写过了

Time.h

#ifndef TIME_H_
#define TIME_H_#include "DSP2833x_Device.h"     // DSP2833x 头文件
#include "DSP2833x_Examples.h"   // DSP2833x 例子相关头文件void TIM0_Init(float Freq, float Period);
interrupt void TIM0_IRQn(void);void TIM1_Init(float Freq, float Period);
interrupt void TIM1_IRQn(void);void TIM2_Init(float Freq, float Period);
interrupt void TIM2_IRQn(void);#endif /* TIME_H_ */

Time.c

#include "Time.h"
#include "leds.h"//定时器0初始化函数
//Freq:CPU时钟频率(150MHz)
//Period:定时周期值,单位us
void TIM0_Init(float Freq, float Period)
{EALLOW;SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1; // CPU Timer 0EDIS;//设置定时器0的中断入口地址为中断向量表的INT0EALLOW;PieVectTable.TINT0 = &TIM0_IRQn;EDIS;//指向定时器0的寄存器地址CpuTimer0.RegsAddr = &CpuTimer0Regs;//设置定时器0的周期寄存器值CpuTimer0Regs.PRD.all  = 0xFFFFFFFF;//设置定时器预定标计数器值为0CpuTimer0Regs.TPR.all  = 0;CpuTimer0Regs.TPRH.all = 0;//确保定时器0为停止状态CpuTimer0Regs.TCR.bit.TSS = 1;//重载使能CpuTimer0Regs.TCR.bit.TRB = 1;// Reset interrupt counters:CpuTimer0.InterruptCount = 0;ConfigCpuTimer(&CpuTimer0, Freq, Period);//开始定时器功能CpuTimer0Regs.TCR.bit.TSS=0;//开启CPU第一组中断并使能第一组中断的第7个小中断,即定时器0IER |= M_INT1;PieCtrlRegs.PIEIER1.bit.INTx7 = 1;//使能总中断EINT;ERTM;}interrupt void TIM0_IRQn(void)
{EALLOW;LED2_TOGGLE;PieCtrlRegs.PIEACK.bit.ACK1=1;EDIS;
}

main.c

void main()
{int i=0;InitSysCtrl();InitPieCtrl();IER = 0x0000;IFR = 0x0000;InitPieVectTable();LED_Init();TIM0_Init(150,500000);while(1){i++;if(i%2000==0){LED1_TOGGLE;}DELAY_US(100);}
}

http://www.tj-hxxt.cn/news/95500.html

相关文章:

  • 北京南站地铁新闻式软文经典案例
  • 公明网站建设seo网站有优化培训班吗
  • 有没有专门做兼职的网站百度云搜索引擎
  • wordpress英文升级为中文版上海seo优化公司
  • 网站开发 方案 报价单网站优化排名软件推广
  • 做羞羞的事情网站谷歌排名网站优化
  • 1688代加工官方网站广州知名网络推广公司
  • wordpress如何放pdf浙江网站seo
  • 建站的步骤有哪些sem对seo的影响有哪些
  • 广西疫情最新消息今天电商seo名词解释
  • 婚纱摄影网站设计百度推广如何代理加盟
  • 网站建设收费标准seo挂机赚钱
  • 黄江网站设计足球最新世界排名表
  • 工商网站备案查询网络推广的概念
  • 常用来做网站首页的是免费做网站自助建站
  • 山东站群网站建设天津网络广告公司
  • 网站自然排名怎么优化互联网推广是什么意思
  • 素材视频 素材库seo优化运营专员
  • 网站制作需求seo在线工具
  • 新纪实网站建设网站优化推广招聘
  • 贵州做网站怎么推广产品推广营销
  • 网站建设有什么专业术语搜索技巧
  • 南浔哪有做网站的网上做广告推广
  • r2网站做生存分析网络服务有限公司
  • 永嘉网站制作国家认可的教育培训机构
  • 帝国生成网站地图大型门户网站建设
  • 杭州大的做网站的公司苏州网站建设优化
  • 做社区网站磁力库
  • asp.net 网站管理工具今日国内新闻头条大事
  • 网站支付怎么做安全吗哪家网络公司比较好