DSP定时器0笔记

首先了解开发板TMS320f28335是150Mhz的频率

定时器结构图和概要

定时器0对应的中断是TINT0

大概是这样,时钟sysclkout 进入和TCR控制时钟进入 ,经过标定计数器(stm32的预分频),标定器挂这自动装载寄存器,进入到计数器,计数器挂着一个周期寄存器。计数达到计数值就触发中断;

 PIE中断组

定时器0中断在PIE组1的第七个中断

 定时器寄存器

全配置了;

 主要的是定时器的控制寄存器

初始化全部设置完

11位,设置1在仿真到中断时,计数器还会继续跑;设置为0,计数器不会跑;

10位仿真时 设置1下一次计数为0时停止计数     设置0 时 当前计数为0时停止计数

 

中断函数

interrupt 函数类型加关键字;

并且用PIE应答赋值1去清零,继续允许下次中断。

中断向量表的地址赋值

PieVectTable.TINT0 = &time0_IER;

程序

全局中断,仿真中断,关键字都在  DSP2833x_Device.h

DSP2833x_PieVect.c  有PIE向量表初始化 InitPieVectTable();

DSP2833x_PieCtrl.c  有PIE初始化 InitPieCtrl();

 定时器0

#include"time0.h"
#include"led1.h"void time0_init(Uint16 prd)
{EALLOW;SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1;CpuTimer0Regs.PRD.all = ((long)150*1000*prd);//ms//相似预分频,预定标寄存器CpuTimer0Regs.TPR.all = 0;CpuTimer0Regs.TPRH.all = 0;//不分频CpuTimer0Regs.TCR.bit.TSS = 1;//禁止定时器CpuTimer0Regs.TCR.bit.TRB = 1;//重载使能CpuTimer0Regs.TCR.bit.SOFT=0;//0 下次计数到0的时候 停止     1当前计数到0 停止CpuTimer0Regs.TCR.bit.FREE=0;//0仿真进入中断后  停止   1继续CpuTimer0Regs.TCR.bit.TIE=1;//中断使能CpuTimer0Regs.TCR.bit.TSS = 0;//启动定时器EDIS;EALLOW;PieVectTable.TINT0 = &time0_IER; //向量表 的TINT0 中断地址 对应到这个函数PieCtrlRegs.PIEIER1.bit.INTx7 = 1;//PIE组1 的第7个中断EDIS;IER |= M_INT1; //开启 全局中断EINT;//使能 全局中断ERTM;//使能 调试中断
}interrupt void time0_IER()
{LED1_TOGGLE;EALLOW;PieCtrlRegs.PIEACK.bit.ACK1 = 1;//赋值1 清除标志,继续使能下次的中断EDIS;
}

 主函数

#include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
#include "led1.h"
#include "key.h"
#include "epwm.h"
#include "exti.h"
#include"time0.h"
int main()
{Uint16 temp = 0;InitSysCtrl();InitPieCtrl();IER = 0x0000;IFR = 0x0000;InitPieVectTable();led_init();time0_init(2000);while (1){}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/277994.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA设置查看JDK源码

问题 我们在查看JDK源码时,可能会遇到这种情况,步入底层查看JDK源码时,出现一堆var变量,可读性非常之差,例如笔者最近想看到nio包下的SocketChannelImpl的write方法,结果看到这样一番景象: pu…

软件测试职业规划

软件测试人员的发展误区【4】 公司开发的产品专业性较强,软件测试人员需要有很强的专业知识,现在软件测试人员发展出现了一种测试管理者不愿意看到的景象: 1、开发技术较强的软件测试人员转向了软件开发(非测试工具开发); 2、业务…

【深入浅出SpringCloud源码探究】「Netflix系列之Ribbon+Fegin」微服务化的负载均衡组件源码剖析与实战开发全流程(Ribbon篇)

微服务化的负载均衡组件源码剖析与实战开发全流程 什么是负载均衡负载均衡的种类服务器端负载均衡(S-LB)客户端负载均衡(C-LB)注解LoadBalancedLoadBalancerAutoConfiguration类LoadBalancerClient类源码分析 ServiceInstanceChoo…

Python爬虫-解决使用requests,Pyppeteer,Selenium遇到网站显示“您的连接不是私密连接”的问题|疑难杂症解决(2)

前言 本文是该专栏的第13篇,后面会持续分享python爬虫案例干货,记得关注。 相信很多同学在处理爬虫项目的时候,会遇到一些网站出现如下图所示的情况: 就是当你不论是使用requests进行协议请求,还是使用自动化框架pyppeteer或者selenium都会出现上图中的情况。这相信会或多…

LVS负载均衡群集,熟悉LVS的工作模式,了解LVS的调度策略以及ipvsadm工具的命令格式

目录 一、什么是群集 群集的作用: 群集的目的是什么 根据群集所针对的目标差异,可分为三种类型 负载均衡群集(LBC)load balance cluster 高可用群集(HAC)high availability cluster 高性能运算群集&a…

OSPF理论总结与实验

第1章 OSPF[1] 本章阐述了OSPF协议的特征、术语,OSPF的路由器类型、网络类型、区域类型、LSA类型,OSPF报文的具体内容及作用,描述了OSPF的邻居关系,通过实例让读者掌握OSPF在各种场景中的配置。 本章包含以下内容: …

详谈前端中常用的加/密算法

本文主要详细介绍了在前端开发中常用的加/解密算法,以及前端如何实现。 总的来说:前端加密无论使用哪个加密都一样是有可能性被他人获取到相关的公钥或密钥的(比如:拦截请求、查看源代码等),然后进行加密与…

MySQL作为服务端的配置过程与实际案例

MySQL是一款流行的关系型数据库管理系统,广泛应用于各种业务场景中。作为服务端,MySQL的配置过程对于数据库的性能、安全性和稳定性至关重要。本文将详细介绍MySQL作为服务端的配置过程,并通过一个实际案例进行举例说明。 一、MySQL服务端配…

word2vec,BERT,GPT相关概念

词嵌入(Word Embeddings) 词嵌入通常是针对单个词元(如单词、字符或子词)的。然而,OpenAI 使用的是预训练的 Transformer 模型(如 GPT 和 BERT),这些模型不仅可以为单个词元生成嵌入…

IDEA debug窗口左边工具栏隐藏与显示

今天在debug排查代码的时候一不小心点到哪里,结果变成这样 我们可以这样恢复,右键Debug 点击show Toolbar

【UML】第4篇 UML公共机制(补扩展机制)

目录 一、扩展机制 1.1 构造型 1.2 标记值(Tagged Value) 1.3 约束(Constraint) 上节扩展机制没有讲完,如上图。 一、扩展机制 1.1 构造型 UML中的扩展机制包括约束、构造型和标记值,其中的构造型定义…

大模型学习之GPT系列

GPT系列 预备知识GPT-1无监督预训练有监督的微调训练 GPT-2数据集:输入表示模型实验 GPT-3模型数据集实验局限性 InstructGPTGPT-4GPT-4 新特性基础能力 参考文献 大模型 GPT演进路线图 预备知识 Transformer 结构图 GPT-1 首先使用未标注的数据训练一个预训练…