EtherCAT之对象字典解析
来源:互联网 发布:知名网络小说家 编辑:程序博客网 时间:2024/06/07 19:03
原文地址:http://blog.csdn.net/huangxianxinalice/article/details/10956137
关于对象字典的数据结构如下:
代码1
对象字典的对象的数据结构是采用链表的形式,组成整个对象字典。
其中,在对象里面定义了索引,对象的描述,SDO入口指针的描述,对象字典的名称,变量的指针,还定义了读和写两个虚函数
ObjDesc的数据结构如下:
代码2其中,对于OBJCODE里面这三个宏定义OBJCODE_VAR OBJCODE_ARR OBJCODE_REC(请问这三个宏定义分别代表着哪三种情况)
从字面上的意思来说,OBJCODE的变量,OBJCODE的队列,OBJCODE的记录
OBJCODE通过函数
UINT8 objCode = (pObjEntry->ObjDesc.ObjFlags & OBJFLAGS_OBJCODEMASK) >> OBJFLAGS_OBJCODESHIFT;
最后,得出的是OBJCODE的类别
如果是变量的话,就return 0;
如果是对象的队列和记录得话,则可以得出OBJCODE的偏移量
如果对象字典object code的类别得出是OBJCODE的队列的时候,得出对象字典的入口地址是&pObjEntry->pEntryDesc[1];
如果,是OBJCODE_REC的时候,得出的对象字典的入口地址是&pObjEntryDesc[i];
Obj_Desc的作用是为了找到关于对象的描述
SDO入口地址的描述
代码3算法:
for (i = 1; i <= subindex; i++)
{
/* get the entry description获得入口描述 */
if (objCode == OBJCODE_ARR)
pEntry = &pObjEntry->pEntryDesc[1];
else
pEntry = &pObjEntry->pEntryDesc[i];
这里根据子索引数找到相关的入口地址
其中,pObjEntry->pEntryDesc (见代码1),是定义了一个指针,指针类型是TSDOINFOENTRYDESC的结构体。那里上面的代码是指向它相邻的一个结构体的pEntryDesc吗?那这个pEntryDesc,是存放它第一个子索引的入口描述?
那它子索引的初始化是怎样初始化?
- EtherCAT之对象字典解析
- EtherCAT之对象字典解析
- 解析url成字典对象
- ethercat
- EtherCAT
- xmc4300 ethercat 学习之路
- EtherCAT之Lan9252调试笔记
- EtherCAT主站SOEM源码解析----EEPROM访问
- EtherCAT主站SOEM源码解析----ecx_siiPDO()
- EtherCAT主站SOEM源码解析----IOmap
- EtherCAT主站SOEM源码解析----Raw Socket
- LinuxCNC+EtherCAT(4)之LinuxCNC overview
- 字典解析
- 将url的查询参数解析成字典对象
- 将url的查询参数解析成字典对象
- 将url的查询参数解析成字典对象
- Beckoff的EtherCAT从站代码架构解析
- 倍福提供的EtherCAT从站代码包解析
- 【智力题】拿硬币(数数字)、游戏
- HTML把内容居中怎么弄
- Android CardView 开发过程中要注意的细节
- JavaScript 中定义函数时用 var foo = function () {} 和 function foo() 的区别
- 软引用的集合
- EtherCAT之对象字典解析
- 更简单的非递归遍历二叉树的方法
- 期末考试-最大公约数(算法基础 第10周)
- 云主机上部署兔子TuziCMS系统图文教程
- Retrofit源码分析以及MVP框架封装使用
- JS一般般的网页重构可以使用Node.js做些什么
- 对通用输入输出GPIO的深入理解
- eclipse的svn插件连接osc的代码仓库时候报错的解决办法
- 对于AssetsLibrary的认识及相册多选