当前位置: 首页 > news >正文

关于dsp定时器同步需要注意的问题

文/蒹葭 zhang.zhilong#gmail.com
因为项目中某一个芯片时钟和使能信号对同步有非常严格要求。故而采用PWM定时器来解决。
项目参数:F2812,主频100M,外设频率50M。
1. 定时器计数是从0开始计数的。所以要计10个数,则周期寄存器应设为0x09,而不是0x0A
2. 定时器2控制寄存器的T2SWT1位置一。同时注意 ,在启动定时器之前,不能将两定时器控制寄存器使能位置 1 否则不能同步。
3. PWM电平变化,由定时器比较寄存器的数值决定,例如:比较寄存器设为0x05,则表示计数器数值到5(从0开始计数),电平跃变,而不是第五个。
4. 通过将定时器2的SELT1PR位置位与否,来决定定时器2使用定时器1的周期,还是使用自己的周期。
5. 设定计数初始值和周期,控制寄存器之后,使能定时器1.此时,定时器2也同步启动。
相关代码如下:
EvaRegs.T1PR = 0x0009; // Timer1 period
EvaRegs.T1CMPR = 0x0005; // Timer1 compare
EvaRegs.T1CNT = 0x0000; // Timer1 counter
// Initalize EVA Timer2
EvaRegs.T2PR = 0xCD1D; // Timer2 period
EvaRegs.T2CMPR = 0x000A; // Timer2 compare
EvaRegs.T2CNT = 0x0000; // Timer2 counter
EvaRegs.GPTCONA.bit.TCMPOE = 1;
EvaRegs.GPTCONA.bit.T1PIN = 1;
EvaRegs.GPTCONA.bit.T2PIN = 1;
EvaRegs.T2CON.all = 0x1082; //bit0使用自己的周期bit7--使用T1CON的使能位,同步
EvaRegs.T1CON.all = 0x1002;
EvaRegs.T1CON.bit.TENABLE=1; //T1 此时使能,则打到同步,如在前面步骤已使能,则不能同步

相关文章:

  • golang mysql引入包,对Golang import 导入包语法详解
  • 发现一个好玩的开源项目
  • 用MATLAB拟合实验报告,MATLAB插值与拟合实验报告材料
  • weblogic中创建域的方法
  • php显示用户登录的时间代码,PHP显示用户友好的时间
  • 互联网史上最伟大的12个网络应用和软件
  • python erp excel,Python——操作Excle
  • 做工作必须将心比心——感谢译者陈浩对我们的批评
  • php主题怎么增加导航页,WordPress主题中添加文章列表页页码导航的PHP代码实例,_PHP教程...
  • 在TCX中使用SQLite3
  • php linux 静态网页,(PHP学习笔记)实现页面静态化
  • 貌似生日的快乐
  • spring对jboss与weblogic的jms的支持不一样
  • php 银行家算法,银行家算法又被称为“资源分配拒绝”法,是一种()算法。A、死锁解除B、死锁避免C、死锁预防D、死锁检测...
  • 易语言字节集转php,易语言将下载地址解析转换成迅雷快车旋风的方法
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • gitlab-ci配置详解(一)
  • IDEA常用插件整理
  • IOS评论框不贴底(ios12新bug)
  • JavaScript设计模式系列一:工厂模式
  • JS数组方法汇总
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • SpiderData 2019年2月16日 DApp数据排行榜
  • 码农张的Bug人生 - 初来乍到
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 三栏布局总结
  • 实现菜单下拉伸展折叠效果demo
  • 实现简单的正则表达式引擎
  • 算法-图和图算法
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • PostgreSQL之连接数修改
  • Prometheus VS InfluxDB
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • 通过调用文摘列表API获取文摘
  • ​2021半年盘点,不想你错过的重磅新书
  • #git 撤消对文件的更改
  • #NOIP 2014#Day.2 T3 解方程
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (转)视频码率,帧率和分辨率的联系与区别
  • (转载)虚函数剖析
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET企业级应用架构设计系列之结尾篇
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [20171113]修改表结构删除列相关问题4.txt
  • [3300万人的聊天室] 作为产品的上游公司该如何?
  • [5] CUDA线程调用与存储器架构
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现
  • [AX]AX2012 SSRS报表Drill through action
  • [bzoj 3534][Sdoi2014] 重建
  • [CakePHP] 在Controller中使用Helper
  • [CareerCup] 14.5 Object Reflection 对象反射
  • [iOS]iOS获取设备信息经常用法