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

沈阳微信网站开发推广软件是什么工作

沈阳微信网站开发,推广软件是什么工作,黑马程序员培训机构,做公司网站价格0引言在舵机品牌中,Dynamixel舵机是品质最好在机器人中使用最广泛的,最近由于蛇形机器人的项目需要用到这款舵机,发现网上关于它的中文资料比较少,于是找到了Dynamixel官网进行了学习,对学习内容做个总结.在使用控制程序控制舵机或者平时自己写上位机控制普通电机的时候都会涉及…

e846b0904e1fc2a8ac21e3c887aa4dd0.png

0引言

在舵机品牌中,Dynamixel舵机是品质最好在机器人中使用最广泛的,最近由于蛇形机器人的项目需要用到这款舵机,发现网上关于它的中文资料比较少,于是找到了Dynamixel官网进行了学习,对学习内容做个总结.

在使用控制程序控制舵机或者平时自己写上位机控制普通电机的时候都会涉及到协议的问题,这里介绍的是Dynamixel官方针对其舵机制定的通讯协议,可以直接调用,对我们自己控制电机时写协议有很强的借鉴意义.

除了协议之外,预计还会写一个SDK软件开发工具包的使用,敬请期待吧( ˘ ³˘)♥

1概念

1.1数据包

主程序和舵机通过互相发送数据包来进行通信,数据包分为指令数据包(Instruction Packet)和状态数据包(Status Packet)两种.主程序向舵机发送指令数据包,舵机作出相应的动作并返回状态数据包.

1.2ID

通过ID可以指定控制哪一个舵机,舵机的ID是可以修改的,同一条总线上不同舵机的ID不可以相同,出厂ID默认设置为1.

1.3协议

Dynamixel采用8位异步串行通信,一个停止位,没有奇偶校验位

1.4半双工

数据可以在一个信号载体的两个方向传输,但是不能同时传输.这种方式经常被用在多个设备需要连接在同一个总线的场合.

17218934e51cb87002d30b01293c866c.png
图1.1 半双工示意图

1.5Tx,Rx

需要一个变量来表示串口的状态(UART_STATUS):

  • TXD_BUFFER_READY_BIT:表明数据可以被加载到缓冲区
  • TXD_SHIFT_REGISTER_EMPTY_BIT:当所有数据都离开CPU完成传输后设置
TxDByte(byte bData) 
{while(!TXD_BUFFER_READY_BIT);//wait until data can be loadeddSerialTxDBuffer = bData;//data load to TxD buffer 
}

当切换数据传输方向的时候,需要检查TXD_SHIFT_REGISTER_EMPTY_BIT

DIRECTION_PORT = TX_DIRECTION; 
TxDByte(0xff); 
TxDByte(0xff); 
TxDByte(bID); 
TxDByte(bLength); 
TxDByte(bInstruction); 
TxDByte(Parameter0);
TxDByte(Parameter1);... 
DisableInterrupt();//interrupt should be disable 
TxDByte(Checksum);//last TxD 
while(!TXD_SHIFT_REGISTER_EMPTY_BIT);//wait untill last data bit has been sent 
DIRECTION_PORT = RX_DIRECTION;//direction change to RxD 
EnableInterrupt();//enable interrupt again

1.6字节之间的时间延迟检查

字节之间存在延迟时间,如果延迟时间大于100毫秒,那么舵机会认为产生了通信问题并且等待下一个数据包的开头(0xff 0xff).

2指令数据包

指令数据包由主控制程序发送给舵机,其格式如下(原本准备作个表格的,结果知乎文章编辑不支持,只能截个模糊的图了,哭唧唧):

347412a6bfae93aa5dd92b924e7b7a72.png
图2.1 Instruction Package

2.1Header

一般都是FF

2.2ID

ID的范围:0~253(0x00~0xFD),总共有254个数字可以使用

广播ID:254(0xFE):使所有舵机都执行命令数据包

2.3Length

数据包的长度(instruction,Parameter,Checksum fields)长度=参数个数+2

2.4Instruction

这里列举了常见的一些指令,具体内容可见第四小节.

40c39b8ecfc058fb05db0fe9ea654a90.png

2.5Parameters

2.6Instruction Checksum

用来检查数据包是否损坏,其计算方法如下:

Instruction Checksum = ~(ID+Length+Instruction+Parameter1+...+ParameterN)

相加指定参数取最后两位后取反

3.状态数据包

状态数据包是舵机返回给主程序的数据,其格式如下

903e8487cf975f3497fa426326b1bbf8.png
图3.1 Status Package

3.1Error

表达了可能出现的错误.

7f1093abf578cd74bcf2c426bf18f0b3.png
图3.2 Error每个位代表的含义

3.2状态检查(Status Checksum)

Status Checksum = ~(ID+Length+Error+Parameter1+...+ParameterN)4.指令细节

4.指令细节

由于第4部份用到了大量表格,知乎文章不支持,所以把完整内容放到了有道云笔记里面,感兴趣的可以参考:有道云笔记

5.更新日志

  • 191204介绍了一些基本概念、指令数据包、状态数据包及指令细节.
http://www.lbrq.cn/news/2592361.html

相关文章:

  • 网站推广昔年下拉湘潭关键词优化公司
  • 什么软件做网站最好seo优化需要多少钱
  • 保定网站建设培训班深圳网络推广公司有哪些
  • 广南网站建设今日新闻头条最新消息
  • 知名网站建设怎么样域名查询网站入口
  • 关于网站建设的博客网络推广的方法
  • 泰安房产信息网官网湖南专业seo优化
  • 现工作室专做网站建设等应用程序项目,但工作室名暂为哪家网络公司比较好
  • 在网站上做承诺书拉新人拿奖励的app
  • 企业网站是怎么建站的南京seo新浪
  • 网站建设具体建设流程网站建设深圳公司
  • 做产品网站费用吗网络推广方案范文
  • 万网主机网站建设数据库怎么弄抖音推广佣金平台
  • wordpress 主机屋企业网站推广优化公司
  • 小企业网站建设怎么做好上线了建站
  • 外贸网站制作时间及费用百度竞价ocpc
  • 营养早餐网站的设计与制作免费推广网站2024
  • 为什么现在建设银行要下载网站激活搜索热门关键词
  • 手机网站 jquery 特效seo型网站
  • 在线网页代理太太猫奶糖 seo 博客
  • 阿里云服务器 多个网站关键词上首页的有效方法
  • 咖啡厅网站建设客服网站搭建
  • 农产品网站建设策划书范文百度舆情监测平台
  • 南昌哪家做网站好看b站视频软件下载安装手机
  • 企业做网站需要什么软件uc信息流广告投放
  • 长治个人做网站微信朋友圈广告投放
  • 网站建设小程序湖南培训心得体会万能模板
  • wordpress 无法更新seo排名赚能赚钱吗
  • 微网站 demo百度搜索电话
  • 淮南做网站的如何优化推广中的关键词
  • 【Java】使用FreeMarker来实现Word自定义导出
  • ZYNQ-按键消抖
  • WPF 按钮背景色渐变
  • Maya 2024安装指南及安装包下载
  • 电商系统想撑住大流量?ZKmall开源商城靠微服务 + Spring Boot3 解决单体架构难题
  • 控制建模matlab练习07:比例积分控制-③PI控制器的应用