DSP28335定时器学习
DSP28335定时器学习
- 官方框图
- 官方例程分析(LEDBLINK)
查看了很多视频,对于定时器的寄存器并没有一个很详细的描述,基本是一笔带过,所以记录下学习的过程
官方框图
简单描述下这个图的意思
定时器需要确认的无非就是几个值,时钟源,预分频,自动重装,中断触发,复位的状态,知晓这个看这张图就很清晰了,结合官方的寄存器描述,可以知道28335的定时器结构,
寄存器TDDR和PRD是预设的值,PSC和TIM是被减的数,复位的时候PSC和TIM都为0
从这张图可以归下类:
- 定时器的时钟:
- 控制的SYSCLKOUT,TCR.TSS
- 分频的(TDDR(装载值的),PSC(计数的)),之后输出的才是有关于TIM的CLK
- 计数器
- PRD(装载值的),TIM(用来减少的),减到0才触发中断
- 是否自动重装
- TCR.TRB
- 是否有中断
- TCR.TIE
官方例程分析(LEDBLINK)
通过定时器控制LED
1、系统时钟
InitSysCtrl();
内部有(SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1;)
2、关闭CPU中断
DINT;
3、初始化中断向量控制器
InitPieCtrl();
4、禁止CPU中断并且清楚CPU中断标志
IER = 0x0000;
IFR = 0x0000;
5、初始化中断向量表
InitPieVectTable();
6、将中断函数添加到向量表中
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.TINT0 = &cpu_timer0_isr;
EDIS; // This is needed to disable write to EALLOW protected registers1
7、初始化外设,这里是定时器初始化
(1)地址关联
CpuTimer0.RegsAddr = &CpuTimer0Regs;
(2)初始化PRD(这里无所谓,后面会再次配置)
CpuTimer0Regs.PRD.all = 0xFFFFFFFF;
(3)PSC初始化,没有预分频
CpuTimer0Regs.TPR.all = 0;
CpuTimer0Regs.TPRH.all = 0;
(4)关闭定时器时钟
CpuTimer0Regs.TCR.bit.TSS = 1;
(5)开启自动重装
CpuTimer0Regs.TCR.bit.TRB = 1;
(6)复位中断计数器
CpuTimer0.InterruptCount = 0;
8、重新设置定时器的什么时候中断
ConfigCpuTimer(&CpuTimer0, 150, 500000);
150指150MHZ,500000指500000us=500ms
DSP28335定时器学习相关推荐
- python定时器 循环_python从写定时器学习Thread
python从写定时器学习Thread python 如何写一个定时器,循环定时做某一操作呢? Timer 对象 from threading import Timer def hello(): pr ...
- 高精度定时器学习(通过官方手册学习)
高精度定时器学习 功能描述 一般说明 HRTIM引脚和内部信号 时钟 Timer A..E timing units 翻转事件 功能描述 一般说明 HRTIM可以划分为几个模块: •主定时器 •计时单 ...
- buck电路 dac stm32_STM32定时器学习---基本定时器
STM32F1系列的产品,除了互联网产品外,工作8个,3种定时器,其中一种就是基本定时器.那么STM32单片机的基本定时器如何操作以及编程呢? 下面我们就来详细的了解一下 STM32F1系列的产品,除 ...
- STM32F429HAL库定时器学习笔记
这些基础的东西看视频很费时间而且有过基础的在学习只是库不太清楚,希望我总结的库使用的一些使用能节约一点大家的时间. void TIM3_Init(u16 arr,u16 psc) { TI ...
- ESP32 (Timer)-定时器学习(7)
提示:本博客作为学习笔记,有错误的地方希望指正 文章目录 一.ESP32定时器介绍 1.1.概述 1.2.使用esp_timer api 1.3.回调函数 1.4.esp_timer在浅睡眠期间 1. ...
- DSP28335 定时器中断
1.DSP28335的定时器 TMS320F28335一共有3个32位CPU定时器,其中定时器0可以被用户使用,定时器1和定时器2则被保留为实时操作系统使用(这是文件<DSP2833x_CpuT ...
- STM32定时器学习---基本定时器
STM32F1系列的产品,除了互联型产品外,工位8个定时器 TIM6.TIM7:基本定时器 TIM2/3/4/5:通用定时器 TIM1.TIM8:高级定时器 三种定时器的区别: 基本定时器: ...
- STM32学习及应用笔记一:SysTick定时器学习及应用
这几年一直使用STM32的MCU,对ARM内核的SysTick计时器也经常使用,但几乎没有仔细了解过.最近正好要在移植一个新的操作系统时接触到了这块,据比较深入的了解了一下. 1.SysTick ...
- TCP四种定时器--学习笔记
TCP使用四种定时器: 重传定时器(Retransmission Timer).坚持定时器(Persistent Timer).保活定时器(Keeplive Timer).时间等待定时器(Time_W ...
- 单片机—外部中断与定时器 学习笔记
外部中断的一些预备知识 一.中断源 二.中断申请标志寄存器--TCON(和定时器的那个TCON是一样的) (每次中断都需要先申请) 1.每一个中断源都有相应的中断标志位: 2.某一个中断源申请中断,相 ...
最新文章
- 客户端(C#)调用CXF搭建的webservice的出现一些问题记录
- 提高安全意识,保护自身安全
- python常用函数-python常用魔法函数
- java的定时器用法
- python __builtins__ credits类 (15)
- 2017-9-17pat甲级 B
- 使用Socket模拟聊天室
- Comet OJ(Contest #14)-飞翔的小鸟【tarjan】
- 【分享】Lucene.Net的中文分词组件AdvancedChineseAnalyzer
- 更改Zend Studio/Eclipse代码风格主题
- 云计算介绍-1.1,IaaS\PaaS\SaaS辨析
- c语言static知识点,C语言知识点集锦
- antdesign 所兼容的浏览器_牛人推荐的跨浏览器兼容性总结
- 科技楼里面有三间计算机教室,中学计算机网络教室管理工作总结
- u3d学习笔记三:U3D脚本的生命周期
- 乌镇世界互联网大会上,百度敲响了创新动能的“牛顿摆”
- 京东青龙面板撸豆_搭建环境流程
- pytorch安装GPU版本 (Cuda12.1)教程
- iPhone怎么设置代理ip
- 笔记本电脑C盘变红或变满,怎么处理?