DSP学习(5)—— Timer的使用


文章目录

  • DSP学习(5)—— Timer的使用
  • 前言
  • 一、创建Timer
    • 1. 法一:图形界面创建
    • 2. 法二:代码方式创建
  • 二、相关问题

前言

本文记录学习使用SYS/BIOS Timer的过程以及一些遇到的问题,主要内容是如何创建和使用一个计时器。


一、创建Timer

计时器可以在编写程序的时候静态配置也可以在程序执行时动态配置。这两种方式没有什么区别但是有些组件可能只能静态配置。对于定时器的静态配置有以下两种方式。

1. 法一:图形界面创建

注意:图形界面相对来说比较占资源,如果电脑配置不高,可能出现打开图形界面卡顿的情况。

首先,点击project文件夹内的.cfg文件,页面如下图所示,再点击System Overview

这就是整个系统组件的结构图,接着点击Timer模块

点击实例instance进入创建页面,点击Add 建立一个timer, 如果无法点Add,鼠标放到白色的矩形框内右键选使用计时器。

  • Timer ISR function: 计时器每个周期内执行的中断服务函数,自己补充执行特定功能的函数,名字可以随便取
  • Timer ID: 根据不同的芯片内置的timer数目、基地址都不一样,具体查看手册。也可以选择ANY,默认使用任意最低ID的空闲timer
  • Period: 计时器周期,有两种:一个是计数,一个是微秒
  • Start mode: 有两种,一个是自动开始,一个是用户启动,用户启动要写对应的代码,例如:
 // 启动1ms计数器UInt key;key = Hwi_disable();Timer_setPeriodMicroSecs(TimerSlotHandle, 1000);Timer_start(TimerSlotHandle);Hwi_restore(key);
  • Run mode: 有连续模式和一些其他模式,具体见help>timer_create>Timer_Params_init 里面有各个参数的说明

2. 法二:代码方式创建

    Timer_Params timerparams;Timer_Params_init(&timerparams);timerparams.intNum = 6;//interrupt numbertimerparams.periodType = Timer_PeriodType_MICROSECS;timerparams.period = 1000;//1mstimerparams.runMode = Timer_RunMode_CONTINUOUS;timerparams.startMode = Timer_StartMode_USER;TimerSlotHandle = Timer_create(11,Timer_ISR,&timerparams,NULL);if(TimerSlotHandle == NULL){System_abort("TimerSlotHandle created failed!\n");}

具体的参数可以在CCS的help查找

二、相关问题

软件定时器和硬件定时器的区别:

  1. 硬件定时器:
    只要一上电硬件定时器就会周期的向CPU发一个时钟中断,CPU就执行相应的中断ISR,因为是硬件相关比较精确,等于说时间是严格跟硬件走的。
  2. 软件定时器:
    由程序启动的,没硬件定时器精确,需要占用一部分CPU资源。

DSP学习(5)—— Timer的使用相关推荐

  1. DSP学习笔记之系统时钟、定时器、GPIO篇

    \qquad写在前面,不管是C51.MSP430.32也好,DSP也好,总要有一个掌握的比较熟练,不能每次都复制粘贴别人的代码然后修修补补吧.不要再做Ctrl +C.Ctrl+V工程师.主要参考来自于 ...

  2. DSP学习(8)—— linker.cmd文件解析

    DSP学习(8)-- linker.cmd文件解析 文章目录 DSP学习(8)-- linker.cmd文件解析 前言 前言 写工程的时候遇到报内存不够的错误,出现在linker.cmd的内存分配se ...

  3. DSP学习(4)—— 看代码记录

    DSP学习(4)-- 看代码记录 文章目录 DSP学习(4)-- 看代码记录 前言 一.一些缩写 二.C语言忘记的知识 条件编译中使用的预编译指令 前言 本文用于记录看代码中间遇到的不认识的东西. 一 ...

  4. DSP学习笔记之EPWM

    DSP学习笔记之EWPM学习 \qquad 学习PWM模块的知识,最少需要掌握频率可调.占空比可调.互补死区可调.多个PWM相位差可调等.内容较多,主要是参照英文手册中几个模块的介绍,内容很多,最基本 ...

  5. DSP学习初阶的一些笔记

    这些内容都是一些基础的.概述性的知识,是本人在学习.使用DSP开始阶段的一些总结,对于DSP内部结构:各个寄存器的配置使用.各种外设的详细配置.中断处理机制.内存管理以及各种编程.调试的经验,以后有空 ...

  6. RxSwift学习插曲--Timer补充内容

    前言 在之前的一篇内容RxSwift学习--核心逻辑初探中,曾列举了一些使用RxSwift优势的小例子,其中关于Timer定时器的例子,在RxSwift中创建的定时器并不受RunLoop的影响,至于为 ...

  7. Blackfin DSP学习心得与参考资料

    参考资料:http://u.115.com/file/f77a47b55f 呵,学习DSP,特别是Blackfin系列的,没数据手册简直是没法学的. 该系列基本上只有英文资料,而就我目前翻过的所有教材 ...

  8. 【DSP】【第一篇】开始DSP学习

    2022年6月14日 1. 部署开发环境 略.工作需要,TMS320C6678. 从今天开始学习DSP的知识. 后面会补充如何安装部署环境. 1.1 组件 1.1.1 SDK MCSDK(CCSv5, ...

  9. 【DSP学习笔记】定点DSP小数乘加计算

    由于我装的版本是CCS5.5,此版本只支持C55系列的软件仿真而不支持C54系列的软件仿真,所以本次试验我采用TMS320C5510芯片进行,新建工程的过程这里不再赘述. 以下分别采用汇编语言和C语言 ...

最新文章

  1. python3 正则表达式 嵌套表格_在Python中使用正则表达式匹配嵌套结构
  2. Python实现飞机大战小游戏,详解每一行代码【不收藏都对不起我】
  3. OA学习笔记-001-项目介绍
  4. Fuxi ServiceModeJob 多租户(Quota Group) 功能介绍
  5. Spring依赖注入和控制反转
  6. stl algorithm -- sort ,unique
  7. Vue项目中关闭Eslint
  8. C++11 static_assert(转载)
  9. 织梦++高级搜索php,织梦模板功能进阶 高级搜索页面advancedsearch.php调用自定义字段...
  10. sci论文 计算机,计算机类SCI论文
  11. day11、3 - 思科模拟器介绍
  12. Java类加载机制由浅入深
  13. STM32F103调试笔记(1)——microusb接入电脑后显示未知USB设备(代码43)
  14. 高颜值时尚小巧蓝牙耳机推荐,女友生日过节最强送礼装备
  15. html------轮播图
  16. linux avg 强力卸载,彻底卸载AVG维护清理软件
  17. 身为程序员,我敢和你打赌100块,这个数学符号你根本不会认不会写
  18. 【HIT-OSLAB-实验中的碎碎念】
  19. DELL5060安装win几个版本系统记录
  20. MFC六大核心机制之一MFC程序的初始化

热门文章

  1. android adb 电池电量,adb 查看电池状态信息。详解
  2. 2018计算机二级html,2020年全国计算机二级Web程序设计考试大纲(2018年版)
  3. idea配置阿里云镜像失败解决
  4. maven生成webapp
  5. uview基本配置,在HubildX中如何配置uni-app相关的组件
  6. android仿微博头像_仿微博点击头像加载动画
  7. NLPCC2013中文微博细粒度情感识别(二)
  8. 名片识别信息分类python_基于Python的智能名片识别接口调用代码实例
  9. LCD RGB 控制技术 时钟篇(上)
  10. C#+CodeSoft 根据Label模板打印标签