dsp定时器初始化程序C语言,C语言定时器实验

dsp定时器初始化程序C语言,C语言定时器实验C语言定时器实验实验三C语言定时器实验一、实验目的1.进一步熟悉DSP的中断机制2.在掌握中断服务程序编写的基础上进一步熟悉定时器的运用3.进一步掌握如何编写DSP中断服务子程序二、实验设备1.具有USB接口的PC机一台2.USB仿真器一台3.ARM/DSP/FPGA实验箱一台三、实验原理本实验是在我们基本上掌握DSP中断机制的基础上,进一步学习如何在DSP内部实现定时器的正确操作以及定时器中…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

C语言定时器实验

实验三 C语言定时器实验

一、实验目的

1.进一步熟悉DSP的中断机制

2.在掌握中断服务程序编写的基础上进一步熟悉定时器的运用

3.进一步掌握如何编写DSP中断服务子程序

二、实验设备

1.具有USB接口的PC机一台

2.USB仿真器一台

3.ARM/DSP/FPGA实验箱一台

三、实验原理

本实验是在我们基本上掌握DSP中断机制的基础上,进一步学习如何在DSP内部实现定时器的正确操作以及定时器中断服务程序的编写。

在TMS320VC5410A中,有一个16位的硬件定时器,该定时器有一个4位的预分频器,由CLKOUT来驱动,也就是说在CLKOUT时钟的作用下进行递减计数。当计数器递减到0的时候,会产生一个定时器中断。通过控制定时器相关寄存器,该定时器可以被停止、重新启动、复位或禁止。

与该定时器有关的寄存器有定时计数寄存器(TIM)、定时周期寄存器(PRD)以及定时器控制寄存器(TCR)。

下面对这几个寄存器作简要介绍:

TIM:该寄存器是一个存储器映射的寄存器,地址为0x0024。该寄存器

中保存了定时器当前的计数值,并且该寄存器的值会在预分频器中的计

数器递减至0的时候递减1。当TIM寄存器中的至递减至0的时候,定

时器复位,TIM重新加载PRD寄存器中的值,开始下一轮计数,与此

同时,当该寄存器中的值递减至0的时候,产生定时器中断。

PRD:该寄存器是一个存储器映射的寄存器,地址为0x0025。该寄存器

用于控制定时器的周期。

TCR:该寄存器是一个存储器映射的寄存器,地址为0x0026。该寄存器

主要用于控制定时器的启动、停止、复位以及初始化定时器的预分频器

等操作。该寄存器的具体内容如表3-1所示。

1-38-png_6_0_0_135_883_622_40_892.979_1262.879-598-0-1268-598.jpg

表3-1 TCR寄存器

TCR寄存器中的具体内容意义如下:

TDDR:定时器的4位预分频器,TDDR的值为0~15。

TSS:定时器启动/停止位。‘1’可停止定时器计数;‘0’可启动定时器。 TRB:向该位写入‘1’可复位定时器。

PSC:预分频器的递减计数器。该计数器会在CLKOUT的作用下递减,

当递减至0的时候,TIM的值便会递减1,同时PSC会重新加载TDDR

的预分频值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158887.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ubuntu下很给力的下载工具

    Ubuntu下很给力的下载工具

    2021年12月5日
    61
  • 错位排序公式_完全错位排列数

    错位排序公式_完全错位排列数首先,对于D(n),有1~n这样n个元素错排,所以对于第一个元素①,它现在可能的位置有(n-1)个,倘若它在第k个元素的位置上,对于第k个元素而言,它所在的位置就有两种可能—第一种,它处在非第一个元素①位置上,所以对于接下来的排列就相当于是n-1个元素的错排,即D(n-1);第二种,它处在第一个元素①的位置上,所以在排列D(n)中有两个元素找到了位置,那么接下来的队列就相当于是n-2个元素的错排。…

    2025年8月15日
    7
  • 五个步骤教你数据清洗_数据仓库ods层

    五个步骤教你数据清洗_数据仓库ods层关于ODS层是否做数据清洗一直是存在争议的,但有一点是可以确定的,对于比较重的清洗工作是要留到后面数仓的ETL过程中进行处理。但是,有这么一种情况:我们在长期的生产实际过程中,发现部分已知的数据问题的处理可以通过自动化的方式来处理,这种方式通常在数据入库之前,做额外的加工处理后再做入库操作。数据清洗的主要工作是处理那些不符合要求的数据,从而提升数据质量,比如一些常见的问题:错误的数据、重复的数据错误的数据这种错误通常是业务系统处理不够健全造成的,比如字符串数据后面有回车空格、日期格式不正确、日期

    2022年10月5日
    2
  • (CVE-2014-0160) OpenSSL 心脏滴血漏洞

    (CVE-2014-0160) OpenSSL 心脏滴血漏洞Heartbleed心脏出血(英语:Heartbleed),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议。它于2012年被引入了软件中,2014年4月首次向公众披露。只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查),因此漏洞的名称来源于“心跳”(heartbeat)。该程序错误属于缓冲区过滤,即可以读取的数据比应该允

    2022年7月17日
    17
  • IIS无法启动:发生意外错误0x8ffe2740的原因

    IIS无法启动:发生意外错误0x8ffe2740的原因原因如果系统中存在端口冲突就有可能发生本情况. IIS默认使用80端口进行HTTP通信. 如果除IIS外的应用程序正在运行并且正在相同的IP地址上使用80端口,在您试图使用IIS管理器启动网站时您也可能收到该错误讯息. 解决方法要解决这个问题,您可以进行以下任一项操作:• 在IIS管理器中更改网站绑定端口为除80端口外的其它端口. • 停止正在使用80端口的应

    2022年7月26日
    7
  • 2021年最新PHP 面试、笔试题汇总(一)[通俗易懂]

    2021年最新PHP 面试、笔试题汇总(一)

    2022年2月18日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号