首页 > 其他分享 >DSP学习笔记

DSP学习笔记

时间:2024-04-27 20:22:05浏览次数:16  
标签:EPwm2Regs CC 笔记 学习 Set TBCTL DSP bit TB

DSP学习笔记

EPWM

结构框图

在这里插入图片描述

代码分析

代码配置

//1.关时基时钟(配置前一定要这么做)
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; 
//2.初始化GPIO引脚(选择EPWM的输出IO口)
InitEPwm2Gpio();
//3.设置同步输入脉冲触发条件(为了做后续的移相pwm控制)
EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO; //在Epwm2的计数器到0的时候就发一次时基同步脉冲
//4.初始化相位寄存器
EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE;//Epwm2相位寄存器失能
	EPwm2Regs.TBPHS.half.TBPHS = 0;
	EPwm2Regs.TBCTR = 0x0000;                  // Clear counter
	EPwm2Regs.TBPRD = tbprd;
//5.选择计数模式(此处选择向上计数模式)
EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;    // Count up向上计数模式
//6.设定时基时钟
EPwm2Regs.TBCTL.bit.HSPCLKDIV=TB_DIV1;//0x00
EPwm2Regs.TBCTL.bit.CLKDIV=TB_DIV2;//0x01
// 7.设置寄存器操作模式(缓冲模式)
EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
//8.设置比较点(A和B都是在零点进行比较)
EPwm2Regs.CMPA.half.CMPA = 0;    // Set compare A value
EPwm2Regs.CMPB = 0;              // Set Compare B value
//9.动作模块使用
EPwm2Regs.AQCTLA.bit.ZRO = AQ_CLEAR;            // Set PWM1A on Zero
EPwm2Regs.AQCTLA.bit.CAU = AQ_SET;          // Clear PWM1A on event A, up count
EPwm2Regs.AQCTLB.bit.ZRO = AQ_SET;            // Set PWM1B on Zero
EPwm2Regs.AQCTLB.bit.CBU = AQ_CLEAR;          // Clear PWM1B on event B, up count
//10.最后不要忘记,把时钟再打开!!!
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;         // Start all the timers synced

标签:EPwm2Regs,CC,笔记,学习,Set,TBCTL,DSP,bit,TB
From: https://www.cnblogs.com/filosefer/p/18162459

相关文章

  • 前端学习之vue简介
    vue的简单介绍#Vue诞生背景从历史的潮流来说,人们从之前的:原生JS->Jquery之类的类库->前端模板引擎,他们都有一个共同的特点需要我们去操作dom元素。近几年来,得益于手机设备的普及和性能的提升,移动端的web需求大量增加,产生了一种叫webapp的东西,也就是移动端的网页应用......
  • 20240427打卡-02构建之法阅读笔记之一
    在一个团队里,每个人的代码风格不一样,并且每个人负责不同的模块,而最后整合的时候就会出现困难,明明在自己的电脑上可以运行,但为什么到别人的电脑上就会报错,就好比这次团队作业的一个功能,一个人实现了图片的上传功能,但是在别人的电脑里无论如何也实现不了。如何能让自己负责的模块功......
  • 学习笔记-Java内存区域
    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外的人想进去,墙里面的人想出来。运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间。有的区域随着虚拟机进程启动一直......
  • python学习思维导图分享
    python本文包含了我的一些python学习的笔记和思维导图第一部分:python基础导图下载链接第二部分:函数及其他文件操作导图下载链接第三部分:类及网络编程导图下载链接第四部分:mysql导图下载链接......
  • 2024.04.27 笔记,下午
    b/s架构和c/s架构(重点)(1)bs:浏览器------服务器(web)b:broeser浏览器s:server服务器bs的应用:论坛,百度,知乎,豆瓣,csdn,博客园(2)cs架构:客户端-----服务器(app)c:client客户端s:server服务器cs应用:抖音,微信,qq,快手,酷狗区别:(1)bs不需要更新,直接通过浏览器输入网址进行访问;......
  • Git 使用教程(新手学习)
    Git是一种分布式版本控制系统,用于管理软件项目的源代码。它是由Linux之父LinusTorvalds开发的,并已经成为了现代软件开发领域中最流行的版本控制系统之一。使用Git可以追踪代码的历史修改记录,方便团队协作、代码共享和代码重构。Git的基本工作流程如下:在开始编写代码之......
  • $KMP$学习记
    《不浪漫罪名》没有花这刹那被破坏吗无野火都会温暖吗无烟花一起庆祝好吗若爱恋仿似戏剧那样假如布景一切都美化连相拥都参照主角吗你说我未能定时令你每天欢笑一次我没说出一句美丽台词是你心中一种缺陷定义流进了眼角里的刺为何不浪漫亦是罪名为何不轰烈是件坏......
  • Ubuntu学习笔记
    1.    Adduser创建普通用户,并赋予sudo角色管理权限CyberArk连接机器后执行下面的命令创建新账号1)adduserXXX,  -XXX代表账号名称2)adduserXXXsudoorsudousermod-aGsudoXXX      新创建账号XXX添加到sudo组,授予sudo管理权限权限3)getentgroupsudo......
  • es笔记20240427
    postfilter    聚合结果统计topagges对聚合结果源数据统计   ......
  • MySQL学习之explain
     from之后的查询得到的表叫做衍生表,是临时表数据,生成临时表之后的数据是无法使用索引的,如果数据量大查询效率就会比较低,这就是查询要尽量少使用子查询这些临时表。  explain详解id:表示查询序号,也可以表示优先级;当值都不一样的时候,值越大表示优先级越高,越先执行;当值都一......