huffman编码的程序流程图_F28379D之CLB解码多摩川编码器2——LIB版例程讲解(原创)...

6e6b2945e1a30d2c20da072e127d4666.png

我在第一篇文章中已经跟大家介绍过379解码多摩川编码器的一些入手小知识,链接如下TMS320F28379D之CLB解码多摩川编码器1——入手小知识(原创)

请大家一定要看入手小知识,再来看例程分析。

今天跟大家分析一下TI的官方例程。

首先,我默认你已经安装了CCS,目前我装的是CCS9.2,CCS10已经出了,基本上从9.2开始是嵌入了CLB TOOL的,可用于开发CLB,我还没深入研究过,以下是CCS下载链接:

http://software-dl.ti.com/ccs/esd/documents/ccs_downloads.html

以下两篇是官方CLB中文参考文档的链接:

TI官方的CLB设计说明文档链接http://www.ti.com.cn/cn/lit/an/zhca963/zhca963.pdf

TI官方CLB用户指南中文版链接http://www.ti.com.cn/cn/lit/ug/zhcu712/zhcu712.pdf

其次,是官方例程的获取,大家可以通过安装TI官方针对C2000处理器推出的ControlSuit获取,我装的版本是3.4,注册一个TI账号就可以下载了。

下载安装C2000 SDK或者MotorControl SDK也可以获取到这个例程,以下是下载链接:

TI 官方C2000 WARE下载链接http://www.ti.com.cn/tool/cn/C2000WARE?keyMatch=C2000%20WARE&tisearch=Search-CN-everything

TI官方MotorControl SDK下载链接http://www.ti.com.cn/tool/cn/C2000WARE-MOTORCONTROL-SDK

接下来,进入正题,LIB版本的例程,部分函数是封库的,在工程中需要添加相应的LIB文件,才可以编译通过,由于是封库的,后续开发可能会有所限制,比如解码运行时间过长,解码+发送大概要20us吧,是的,20us,难以承受。

用CCS打开LIB例程:

e5e0dd5b3758120e9749fc9d38c25339.png
工程图例

工程存放路径如下:

C:tic2000C2000Ware_MotorControl_SDK_3_00_00_00solutionsboostxl_posmgrf2837xdccstformat

双击打开pm_tformat_main.c

aada4f0ccca550f0d41e4652933d12d2.png
例程main主函数

mian主函数前面是379的时钟、外设、IO、中断的配置,这些不讲,大家自己去熟悉。

接着是SPI的中断函数配置及使能,这里用到的是SPIB及SPIBRXINT,在第一篇文章中有提到。

11766070e8345d6c4fb9ad162af02a1f.png
SPIB相关配置

接着,我们看一张流程图,这是我自己画的,为了方便大家理解上手这个例程。

3969a21163b219edbb38d17b04a37b09.png
LIB版本例程解码流程图

通过这个流程图,基本上可以将例程的理解为:

  1. 设置CF,发送CF,死循环等待接收完成标志位
  2. 延时3us后(CLB控制CLK),SPI外设接收;
  3. SPIFIFO接收满,触发RXINT中断,中断函数存BUF,置标志位;
  4. 解码、校验、赋值(位置信息要做蝶式交换,协议是这样规定的,蝶式交换即字节的bit对称交换
  5. 延迟(给编码器留空闲时间),反复循环

接着,是SPI中断处理程序截图:

90e0b4cbcdcaf2b2a7368c2e3e8a0d7e.png
SPIBRXINT中断处理程序

最后是,while主循环的发收解码部分,如图:

b6a2cc67e1208adef7ce94503ed694d0.png
发收解码截图

好了,LIB版的例程分析就讲这么多,其实看完我画的流程图,应该也就懂了,往深一点的,要大家自己去研究

这个系列我会在头条号同步更新,有空我会继续更新下一篇,讲LIB例程的应用开发,谢谢。

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

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

相关文章

html统计表合并单元格的快捷键,word怎样设置合并单元格快捷键

word2010中合并单元格的快捷键是什么?求解答。合并单元格没有快捷键,不过有个f4是重复上一步操作,所以你要合并多个单元格,那么你可以先点一合并单元格,然后选定你要合并的区域。WORD合并单元格的快捷键怎么设置word合并单元格快…

fcm 服务器接入 golang_Golang 写的即时通讯服务器 im(服务组件形式)

简要介绍im是一个即时通讯服务器,代码全部使用golang完成。主要功能1.支持tcp,websocket接入2.离线消息同步3.单用户多设备同时在线4.单聊,群聊,以及超大群聊天场景5.支持服务水平扩展gim和im有什么区别?gim可以作为一…

html 手机分辨率,移动端各种分辨率手机屏幕----适配方法集锦

1.使用viewport,html文件中在内添加meta,简单粗暴:2.加判断复杂点的viewport,可以封装成一个js,每次新建html时调用.js即可:var phoneWidth parseInt(window.screen.width);var phoneScale phoneWidth/75…

橡胶支座抗压弹性模量计算公式_隔震支座的这些力学特性您都掌握了吗?

隔震支座叠层橡胶隔震支座,是隔震设计中应用最为广泛的隔震装置。了解隔震支座的力学特性,在软件中设置正确的参数,是做好隔震设计最基本的前提。那么,隔震支座的这些特性您都掌握了吗?叠层橡胶隔震支座叠层橡胶隔震支…

综合基础知识计算机,计算机综合基础知识总结.doc

计算机综合基础知识总结计算机专业知识试题计算机专业知识试题1.???? 一个字节包含的二进制位数是(?? )。A. 8位???? B. 16位???????????????? C. 32位???????????????? D. 256位2.???? 既可作为输入又可作为输出设备的是(???…

asp.net button创建控件时出错_Tkinter Radiobutton控件

单选按钮是一种可在多个预先定义的选项中选择出一项的 Tkinter 控件 。单选按钮可显示文字或图片,显示文字时只能使用预设字体,该控件可以绑定一个 Python 函数或方法,当单选按钮被选择时,该函数或方法将被调用。单选按钮&#xf…

从网络访问计算机不能添加用户名,windows7 和 XP 能互相用\\ip访问,但是不能通过计算机名访问...

只要你的二台机器(winxp、win7)都能PING通对方的IP地址,并且能够通过IP正常访问,只是不能通过同一工作组的计算机名访问(其实,你先PING过一次要使用的对方的计算机名,就能直接在地址栏中输入\\计算机名 来访问了 只是在 网络 中仍…

jitter 如何优化网络_抖音优化该怎么做?

抖音在国内是比较知名的短视频运营商,也有很大的流量市场。这块优化好了,不管是对于用户还是企业来说,在品牌宣传上来说,作用还是蛮大的。抖音优化和电脑端优化,还是有所区别的,这里参考的是点赞数、评论以…

性价比高台式计算机,2021年台式电脑什么牌子好,性价比高?

大家都知道买台式电脑最主要是性价比高,用最少的价钱买到最好的性能配置,但那些大老牌子为了赚平民百姓的钱售价实在贵得太离谱了,性价比非常低今年什么台式电脑性价比最高?台式电脑配置推荐 组装电脑配置单 电脑配置方案-装机...…

golang 数组组合成最小的整数_golang数组-----寻找数组中缺失的整数方法

问题:由n-1个整数组成的未排序数组,元素都是1~n的不同整数,找出其中缺失的整数方法一:思路:是原数组的和 减去 丢失元素后的数组的和,就得到丢失的元素了代码如下:package mainimport ("er…

计算机专业线性代数教学大纲,《线性代数》课程教学大纲

一、课程简介线性代数是讨论代数学中线性关系经典理论的课程,它具有较强的抽象性与逻辑性,是高等学校工科本科各专业的一门重要的基础理论课,也是硕士研究生入学全国统一考试中必考的数学课程之一。由于线性问题广泛存在于科学技术的各个领域…

yuv420p 详解_图文详解YUV420数据格式

一.YUV格式与RGB格式的换算RGB 转换成 YUVY (0.257 * R) (0.504 * G) (0.098 * B) 16Cr V (0.439 * R) - (0.368 * G) - (0.071 * B) 128Cb U -( 0.148 * R) - (0.291 * G) (0.439 * B) 128YUV 转换成 RGBB 1.164(Y - 16) 2.018(U - 128)G 1.164(Y - 16) - 0.813…

计算机存储器发展历史,存储器及其发展历史与前景(4页)-原创力文档

存储器及其发展历史与前景高兴(电子信息科学与技术专业12-1班)摘 要:存储器件是计算机系统的重要组成部分,现代计算机的内存储器多采用半导体存储器。由于RAM的存取速度比ROM快的多,其成为内存的主要组成元件。内存发展主要经历了FP DRAM(快…

jq父级绑定事件的意义_用jQuery.delegate()将事件绑定在父元素上面

1.先看看官方的示例:$(document).ready(function(){$("div").delegate("button","click",function(){$("p").slideToggle();});});这是一个段落。请点击这里2.该方法的定义如下:$(selector).delegate(childSele…

计算机师范类算师范教育类吗,师范教育类专业和计算机类专业,两者相比,哪个更适合自考生报读...

原标题:师范教育类专业和计算机类专业,两者相比,哪个更适合自考生报读一、师范教育类专业大部分毕业生的就业方向都是在教育行业,互联网的发展,教学教育有了网络课,让人们随时随地都可以学习,也…

android 绘画笔迹回放_随时记录分享书写笔迹,EverPEN高级版套装体验

看到笔记本就想起小时候,老师为了提高学生们的写作能力,而要求大家每周写3篇日记,几年下来慢慢的让自己养成了每周会抽出点时间,手写些生活中的点滴趣事。但随着笔记本保持时间有限,而且有时查找起来也不方便&#xff…

flash 文件计算机课件,计算机软件及应用Flash.ppt

计算机软件及应用Flash.pptFlash CS3 提供了一种用幻灯片屏幕创建演示文稿的新方法。它可以将媒体放在幻灯片屏幕上,添加从其它幻灯片继承媒体的嵌套幻灯片,并且在运行时使用内置控件在幻灯片之间导航。其实,这和PPT基本模式一样。 6.8 Flash…

12c集群日志位置_Kubernetes(k8s)那些套路之日志收集

准备关于容器日志Docker的日志分为两类,一类是 Docker引擎日志;另一类是容器日志。引擎日志一般都交给了系统日志,不同的操作系统会放在不同的位置。本文主要介绍容器日志,容器日志可以理解是运行在容器内部的应用输出的日志&…

数字摄像头测试软件,图像测量软件(Camera Measure)

Camera Measure是一款简单易用的数字图像测量工具,该软件可用于显微镜图像测量、测绘等专业领域或者普通用户日常的各种测量,可以播放Windows相机并拍照或录制视频,打开图片或视频文件,并在画面中进行实时的高性能图像测量。软件功…

过滤特征_机器学习深度研究:特征选择中几个重要的统计学概念

机器学习深度研究:特征选择过滤法中几个重要的统计学概念————卡方检验、方差分析、相关系数、p值问题引出当我们拿到数据并对其进行了数据预处理,但还不能直接拿去训练模型,还需要选择有意义的特征(即特征选择)&am…