1、定时器介绍

1.1 CPU工作原理

TIMER0

TINT0

PIE

INT1

TIMER1

TINT1

CPU

INT13

TIMER2

用于DSP/BIOS

,当该功能不使用时,用户可以使用

TINT2

CPU

INT14

预分频模块

定时器分频寄存器

TDDRH:TDDR

16位

预定标计数器

PSCH:PSC

16位

定时/计数模块

周期寄存器

PRDH:PRD

32位

计数寄存器

TIMH:TIM

32位

1.2定时器相关寄存器

地址

寄存器

名称

TIMERxTIM

Timer x,计数寄存器低

TIMERxTIMH

Timer x,计数寄存器高

TIMERxPRD

Timer x,周期寄存器低

TIMERxPRDH

Timer x,周期寄存器高

TIMERxTCR

Timer x,控制寄存器

保留

TIMERxTPR

Timer x,预定标寄存器

TIMERxPPRH

Timer x,预定标寄存器高

(1)定时器控制寄存器TIMERxTCR

名称

功能描述

15

TIF

CPU定时器中断标志位

当定时器计数器递减到零时,该位置1,可以通过软件向该位写1清零

0:写0无影响

1:写1清零

14

TIE

定时器中断使能

如果定时计数器递减到0,TIE为使能,定时器向CPU申请中断

13、12

保留

保留

11

FREE

CPU定时器仿真模式

10

SOFT

CPU定时器仿真模式

FREE

SOFT

0

0

下次计数器递减操作完成后定时器停止

0

1

计数器递减到0后定时器停止

1

0

自由运行

1

1

自由运行

9~6

保留

保留

5

TRB

定时器重载控制位

0:禁止重载

1:使能重载

4

TSS

启动和停止定时器的状态位

0:为了启动或重新启动,将其清零

1:停止状态

3~0

保留

保留

2、定时器配置步骤

定时器相关库函数在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)

{

......功能程序

}

dsp 28035(定时器基础)相关推荐

  1. 电机控制基础——定时器基础知识与PWM输出原理

    单片机开发中,电机的控制与定时器有着密不可分的关系,无论是直流电机,步进电机还是舵机,都会用到定时器,比如最常用的有刷直流电机,会使用定时器产生PWM波来调节转速,通过定时器的正交编码器接口来测量转速 ...

  2. stm32高级定时器 基础知识

    stm32高级定时器 高级定时器时基单元: 包含一个16位自动重装载寄存器 ARR 一个16位的计数器CNT,可向上/下计数 一个16位可编程预分频器PSC,预分频器时钟源有多种可选,有内部的时钟.外 ...

  3. STM32 - 定时器基础应用说明 - 04 - N-pulse waveform generation using one-pulse mode - 用OPM模式产生N次脉冲

    前言:N-PULSE模式,就是PLUS模式+Mask(利用UDIS的屏蔽) Repetition的特性: 那么首先-N-PULSE可以定制波形的各个方面,然后,将这个定制进行重复,那不就是可以无限的定 ...

  4. 51单片机中断的调用寄存器组(PSW)的作用,以及汇编堆栈的作用,堆栈指针的SP的使用方法,RAM的运行和ROM在单片机具体运行和C语言的优势和中断,定时器基础知识(上)

    一,堆栈在汇编的作用,以及PUSH ACC 和 PUSH PSW 通过最简单的8051单片机RAM的分配可知,单片机从烧程序到达到一定的工作过程.首先明白为什么要引如"烧"写的过程 ...

  5. DSP 中的基础算法和模型的详细解析

    查看全文 http://www.taodudu.cc/news/show-2989078.html 相关文章: 唐端荣|DSP投放引擎的设计与实现 dsp 精准投放_招商加盟行业如何精准获客 DSP投 ...

  6. Matlab/Simulink代码生成到dsp系列(一)基础配置

    0 引言 TI 公司 C2000 系列的 DSP 芯片主要面向数字控制.运动控制领域.在电机控制领域占有主导的地位.但是传统的代码开发方法周期较长,效率不高,有时可读性较差,难以修改.维护.随着工业技 ...

  7. DSP C语言基础要点

    年初到现在,接触DSP已经半年了,由于公司没有人指导,做了这么久都没出什么大的成果,也走了不少的弯路.以前做单片机用C编过一些程序,个人觉得还可以.现在看来也只是在吃以前在学校里面一些C语言皮毛的老本 ...

  8. STM32 - 定时器基础应用说明 - 03 - Application: timer clocking using external clock-source on ETR timer input

    This application describes one use-case of using an external clock-source to clock the timer periphe ...

  9. 51单片机定时器基础知识

    定时器初值计算 经验总结:定时器0工作方式1的溢出中断初始值计算 1.晶振11.0592M 11.0592MHz除12为921600Hz,就是一秒921600次机器周期,50ms=46080次机器周期 ...

最新文章

  1. Unix下C程序内存泄漏检测工具Valgrind安装与使用
  2. 十步图解CSS的position
  3. CISCO路由器安全配置
  4. JavaScript八张思维导图
  5. Java魔法堂:注解用法详解——@SuppressWarnings
  6. RTL 和 综合 等一些基本概念的摘记
  7. 移动互联网派生app研究报告
  8. leetcode力扣105. 从前序与中序遍历序列构造二叉树
  9. pyecharts入门及新冠病毒疫情数据可视化(绘制地理图表)
  10. amd显卡用黑苹果输出黑屏_教大家黑苹果英伟达免驱显卡黑屏怎么解决的方法
  11. java开发表格,JAVA开发简历表格下载
  12. 函数信号发生器的功能介绍
  13. powerpoint中如何使用母版
  14. 洛谷 P4208 [JSOI2008]最小生成树计数 矩阵树定理
  15. Apache安装配置(Linux)-有手就行
  16. pvsyst 7.1使用教程
  17. Android Study Material Design 十 再探沉浸式
  18. 三千预算进卡吧的顺口溜是啥
  19. WiFi_WiFi6和WiFi5区别
  20. 微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

热门文章

  1. 第九十九节,JavaScript数据类型
  2. 500V-600V高压超结MOS
  3. Android开发-Android studio自带模拟器使用中文拼音输入法
  4. IEC60870-5-104通信协议测试方法
  5. 星卫士陈卫俊表示要用心打造做真正好用、良心的健康手表
  6. python怎样在pygame中设置字体并显示中文
  7. BG02、shell脚本
  8. Java示例初学者的设计模式
  9. idea java 相同代码,本地报错Invalid UTF-8 middle byte 0x3f,其他人都正常
  10. 位置穿越服务器,编写Spring Cloud Config Server路径穿越漏洞全面检测脚本