我编写的EEPROM 上位机软件
- 进入模式:
上位机发送 消息
上位机EEPROM 按下进入模式
消息的ID号是:0x08111111 数据是: 00 01 ff 00 00 00 00 00
上位机显示 运行状态 :为进入模式
当我用下位机 发送
下位机通过CANTest 进行发送 消息
消息的ID号 是: 0x08222222 数据是: 00 02 FF 00 00 00 00 00
上位机显示 运行状态: 已经进入参数修改模式
延时一会 运行状态 显示 : 空闲
当我选择 额定电流(有效值) 设置为 220 然后点击设定参数
消息的ID号 0X8111111 数据 04 FF FF 00 00 00 00 00
第2次抓到了6个消息
消息1 :ID号 0X0811111 数据 04 FF FF 00 00 00 00 00 上位机发给下位机
消息2 :ID号 0X8222222 数据 03 00 FF 00 00 00 00 00 下位机发给上位机
消息3: ID号 0X8111111 数据 00 02 FF 00 DC 00 01 00 上位机发给下位机
消息4: ID号 0x8222222 数据 00 01 FF 00 DC 00 01 00 下位机发给上位机
消息5: ID号 0X811111 数据 00 04 FF 00 00 00 00 00 上位机发给下位机
消息6: ID号 0X8222222 数据04 00 FF 00 00 00 00 00 下位机发给上位机
这个过程我总计为一步一应答的操作
步骤1 : 上位机发送给下位机 消息1 告诉下位机我现在要写控制参数
步骤2 : 下位机发送给上位机 消息2 下位机数据修改开始控制帧
步骤3: 上位机发送应答帧 消息3 告诉下位机 我设定的数据
步骤4: 下位机发送给上位机 消息4 下位机返回给上位机设定的内容
步骤5: 上位机任务完成通知帧 消息5 通知下位机 当前任务已经完成,可以将其从任何可能的死循环中退出来。(通讯定时时间循环20200121)
步骤6: 下位机发送给上位机 告诉上位机 数据已经被成功写入
试验2:
EEPROM 只设定一个参数 最大电流(有效值) 423A
消息1: ID号 0x8111111 数据 04 ff ff 00 00 00 00 00
消息2: ID号 0X8222222 数据 03 00 ff 00 00 00 00 00
消息3: ID号 0X8111111 数据 00 02 ff 00 a7 01 02 00
消息4:ID号0X8222222 数据 00 01 ff 00 a7 01 02 00
消息5:ID号 0x8111111 数据 00 04 ff 00 00 00 00 00
消息6:ID号0X8222222 数据 04 00 ff 00 00 00 00 00
试验3:
EEPROM 设定MTPA初始位置角度 MTPA 角度设为 1715
6个消息
消息1 ID号0X8111111 数据 04 FF FF 00 00 00 00 00
消息2 ID号 0x8222222 数据 03 00 ff 00 00 00 00 00
消息3 ID号0X8111111 数据 00 02 FF 00 b3 06 1d 00
消息4 ID号 0X8222222 数据 00 01 ff 00 b3 06 1d 00
消息5 ID号 0X8111111 数据 00 04 ff 00 00 00 00 00
消息6 ID号 0X8222222 数据 04 00 ff 00 00 00 00 00
试验3 选择 写
控制参数页的两个参数 参数1:转速Kp 1650
参数2: MTPA角度 1715
用台式机的CANtest 共获得8个消息
消息1 ID号0x08111111 数据:04 ff ff 00 00 00 00 00
消息2 ID号 0X08222222 数据:03 00 ff 00 00 00 00 00
消息3 ID号 0x81111111 数据: 00 02 ff 00 72 06 11 00
消息4 ID号 0X8222222 数据:00 01 ff 00 72 06 11 00
消息5 ID号 0X8111111 数据 00 02 ff 00 b3 06 1d 00 (十六进制06b3 对应十进制1715
消息6 ID号 0X8222222 数据 00 01 ff 00 b3 06 1d 00
消息7ID号0X8111111 数据 00 04 ff 00 00 00 00 00
消息8 ID号 0X8222222 数据 04 00 ff 00 00 00 00 00
对以上步骤进行说明:(重要)
步骤1:
上位机 发送下位机操作模式控制帧
步骤2:
下位机向上位机发送数据开始修改控制帧
步骤3:
上位机发送应答帧,上传给下位机中需要修改的参数
十六进制的0x0672 代表10进制的 1650
00 02 ff 00 72 06 11 00
步骤4:
下位机将上位机设定的参数再次上传上来
00 01 ff 00 72 06 11 00
步骤5:
上位机发应答帧 ,上传下位机需要修改的参数
00 02 ff 00 b3 06 1d 00
步骤6:
下位机将上位机设定的参数再次上传上来
00 01 ff 00 b3 06 1d 00
步骤7:
上位机发送的 00 04 ff 00 00 00 00 00
上位机任务完成通知帧,通知下位机当前任务已经完成。可以将其从任何可能的死循环中退出。
步骤8:
下位机发送给上位机,告知上位机 下位机的数据被成功的写入。
试验4:
假设我在控制参数中 需要设定5个参数
参数1 转速kp 1650
参数2 转速 ki 820
参数3 转速 kd 3280
MTPA角度 1715
超速Kp 426
这样下来 我应该一共需要 14 个帧
消息1 ID号 0x8111111 数据 04 ff ff 00 00 00 00 00
消息2 ID号 0x8222222 数据 03 00 ff 00 00 00 00 00 (下位机告诉上位机,下位机进入参数修改控制模式)
消息3 ID号 0X8111111 数据 00 02 ff 00 72 06 11 00
消息4 ID号 0X8222222 数据 00 01 ff 00 72 06 11 00
消息5 ID号 0X8111111 数据 00 02 ff 00 34 03 12 00 (0x0334 代表十进制820)
消息6 ID号 0X8222222 数据 00 01 ff 00 34 03 12 00 (0x0334 代表十进制820)
消息7 ID号 0X8111111 数据 00 02 ff 00 d0 0c 13 00 (0X0cd0代表十进制 3280)
消息8 ID号0X8222222 数据00 01 ff 00 d0 0c 13 00
消息9 ID号 0X8111111 数据 00 02 ff 00 b3 06 1d 00 (0x06b3代表十进制1715)
消息10 ID 号 0X8222222 数据 00 01 ff 00 b3 06 1d 00
消息11 ID 号 0x 8111111 数据 00 02 ff 00 aa 01 1e 00 (0x01aa代表十进制426 )
消息12ID 号 0x8222222 数据 00 01 ff 00 aa 01 1e 00
消息13 ID 号 0x8111111 数据 00 04 ff 00 00 00 00 00
上位机任务完成通知帧,通知下位机当前任务已经完成。可以将其从任何可能的死循环中退出。
消息14 ID号 0X8222222 数据 04 00 ff 00 00 00 00 00
下位机发送给上位机,告知上位机 下位机的数据被成功的写入。
我现在尝试用busmaster 实现对数据帧的保存功能
第一步:打开busmaster 设置好通道与波特率
第二步:
第三步: 设置文件保存的位置 例如桌面 20190409 文件夹
然后用eeprom 设定参数
假设设定两个参数
额定电流(有效值)220
最大电流(有效值)423
点击了eeprom 的发送按钮 以后,
然后点击busmaster 上面的disconnect 选项卡断开连接
然后就可以在桌面上看见 2019 04 09的text文件
回写EEPROM 制显示成功写入42个参数
从通讯协议上看, 从最大功率开始,剩余的6个参数没有设定。
读取EEPROM试验
用笔记本电脑的EEPROM 软件完成读取EEPROM 操作
用台式机的周立功软件 对 网络上的CAN数据进行监测,得到了 从0----144编号的消息帧
如下图所示:
接收消息的开始处
序号从 00000000 开始
序号到00000144 结束的视图
对上面的消息开始翻译:
消息0 ID号 0X08111111 数据 01 FF FF 00 00 00 00 00 上位机 发送给DSP
消息1 ID号 0x08222222 数据 01 00 FF 00 00 00 00 00 DSP上传给上位机
消息2 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00 上位机发送给DSP
消息3 ID号 0x08222222 数据 00 01 FF 00 2E 00 00 00 (2E表示10进制的46)
消息4 ID号 0x08111111 数据 00 02 FF 00 00 00 00 00 上位机 发送给DSP
消息5 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00 上位机 发送给DSP
消息6 ID号 0X08222222 数据 00 01 FF 00 01 00 01 00 DSP上传给上位机
消息7 ID号 0X08111111 数据 00 02 FF 00 00 00 01 00
消息8 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00
消息9 ID号 0x08222222 数据 00 01 FF 00 02 00 02 00
消息10 ID号 0x08111111 数据 00 02 FF 00 00 00 02 00
消息11 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00
消息12 ID号 0x08222222 数据 00 01 FF 00 03 00 03 00
消息13 ID号 0x08111111 数据 00 02 FF 00 00 00 03 00
消息14 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00
消息15 ID号 0X08222222 数据 00 01 FF 00 04 00 04 00
消息16 ID号 0x08111111 数据 00 02 FF 00 00 00 04 00
消息17 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00
消息18 ID号 0X08222222 数据 00 01 FF 00 05 00 05 00
消息19 ID号0x08111111 数据 00 02 FF 00 00 00 05 00
消息20 ID号0x08111111 数据 00 03 ff 00 00 00 00 00
消息21 ID号0x08222222 数据 00 01 FF 06 00 00 06 00
………………………..省略……………………..
消息139 ID号 0x08111111 数据 00 02 FF 00 00 00 2D 00
消息140 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00
消息141 ID号 0x08222222 数据 00 01 FF 00 00 00 2E 00
消息142 ID号 0x08111111 数据 00 02 FF 00 00 00 2E 00
消息143 ID号 0x08111111 数据 00 04 FF 00 00 00 00 00
消息144 ID号 0x08222222 数据 02 00 FF 00 00 00 00 00
协议解析
消息0 ID号 0X08111111 数据 01 FF FF 00 00 00 00 00 上位机 发送给DSP
上位机告诉DSP 我要读取参数
消息1 ID号 0x08222222 数据 01 00 FF 00 00 00 00 00 DSP上传给上位机
下位机数据上传起始控制帧
消息2 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00 上位机发送给DSP
上位机请求控制帧 发送给DSP的 ---上位机发送读指令
消息3 ID号 0x08222222 数据 00 01 FF 00 2E 00 00 00 (2E表示10进制的46)
DSP 发给 上位机的 告诉 上位机 我有46个参数准备上传
消息4 ID号 0x08111111 数据 00 02 FF 00 00 00 00 00 上位机 发送给DSP
上位机 应答 DSP的请求 -----上位机要读取DSP为ID号为0的参数
消息5 ID号 0X08111111 数据 00 03 FF 00 00 00 00 00 上位机 发送给DSP
上位机 然后 请求 DSP --上位机发送读指令
消息6 ID号 0X08222222 数据 00 01 FF 00 01 00 01 00 DSP上传给上位机
DSP 上传给上位机数据 DSP上传了ID号为0 1的参数
消息7 ID号 0X08111111 数据 00 02 FF 00 00 00 01 00
上位机要读取DSP的ID号为1的参数
消息8 ID号 0x08111111 数据 00 03 FF 00 00 00 00 00
上位机发送给DSP ------上位机 发送读指令
消息9 ID号 0x08222222 数据 00 01 FF 00 02 00 02 00
DSP上传给上位机的数据 DSP上传了ID号为0 2参数
消息142 ID号 0x08111111 数据 00 02 FF 00 00 00 2E 00
消息143 ID号 0X08111111 数据
消息144
用kavaser 抓包 得到
17:53:35:7522 Rx 1 0x8111111 x 8 01 FF FF 00 00 00 00 00
17:53:35:7532 Rx 1 0x8222222 x 8 01 00 FF 00 00 00 00 00
17:53:35:8112 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:35:8122 Rx 1 0x8222222 x 8 00 01 FF 00 2E 00 00 00
17:53:35:9252 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 00 00
17:53:35:9752 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:35:9762 Rx 1 0x8222222 x 8 00 01 FF 00 01 00 01 00
17:53:36:0752 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 01 00
17:53:36:1262 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:36:1272 Rx 1 0x8222222 x 8 00 01 FF 00 02 00 02 00
17:53:36:2342 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 02 00
17:53:36:2872 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:36:2872 Rx 1 0x8222222 x 8 00 01 FF 00 03 00 03 00
17:53:36:3882 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 03 00
17:53:36:4392 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:36:4392 Rx 1 0x8222222 x 8 00 01 FF 00 04 00 04 00
17:53:36:5442 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 04 00
17:53:36:5972 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:36:5972 Rx 1 0x8222222 x 8 00 01 FF 00 05 00 05 00
17:53:36:6992 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 05 00
17:53:36:7502 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:36:7512 Rx 1 0x8222222 x 8 00 01 FF 00 06 00 06 00
17:53:36:8612 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 06 00
17:53:36:9122 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:36:9132 Rx 1 0x8222222 x 8 00 01 FF 00 07 00 07 00
17:53:37:0132 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 07 00
17:53:37:0642 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:37:0642 Rx 1 0x8222222 x 8 00 01 FF 00 08 00 08 00
17:53:37:1682 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 08 00
17:53:37:2192 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:37:2202 Rx 1 0x8222222 x 8 00 01 FF 00 09 00 09 00
17:53:37:3242 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 09 00
17:53:37:3752 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:37:3762 Rx 1 0x8222222 x 8 00 01 FF 00 0A 00 0A 00
17:53:37:4842 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0A 00
17:53:37:5352 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:37:5362 Rx 1 0x8222222 x 8 00 01 FF 00 0B 00 0B 00
17:53:37:6392 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0B 00
17:53:37:6902 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:37:6902 Rx 1 0x8222222 x 8 00 01 FF 00 0C 00 0C 00
17:53:37:7952 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0C 00
17:53:37:8472 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:37:8482 Rx 1 0x8222222 x 8 00 01 FF 00 0D 00 0D 00
17:53:37:9492 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0D 00
17:53:38:0002 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:38:0012 Rx 1 0x8222222 x 8 00 01 FF 00 0E 00 0E 00
17:53:38:1102 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0E 00
17:53:38:1612 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:38:1622 Rx 1 0x8222222 x 8 00 01 FF 00 0F 00 0F 00
17:53:38:2642 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 0F 00
17:53:38:3152 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:38:3162 Rx 1 0x8222222 x 8 00 01 FF 00 10 00 10 00
17:53:38:4242 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 10 00
17:53:38:4752 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:38:4762 Rx 1 0x8222222 x 8 00 01 FF 00 72 06 11 00
17:53:38:5742 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 11 00
17:53:38:6252 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:38:6262 Rx 1 0x8222222 x 8 00 01 FF 00 34 03 12 00
17:53:38:7362 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 12 00
17:53:38:7872 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:38:7882 Rx 1 0x8222222 x 8 00 01 FF 00 D0 0C 13 00
17:53:38:8872 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 13 00
17:53:38:9382 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:38:9382 Rx 1 0x8222222 x 8 00 01 FF 00 94 02 14 00
17:53:39:0432 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 14 00
17:53:39:0942 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:39:0952 Rx 1 0x8222222 x 8 00 01 FF 00 58 02 15 00
17:53:39:0962 Rx 1 0x8222222 x 8 00 01 FF 00 58 02 15 00
17:53:39:2012 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 15 00
17:53:39:2522 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:39:2532 Rx 1 0x8222222 x 8 00 01 FF 00 9A 19 16 00
17:53:39:2532 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 16 00
17:53:39:3042 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 16 00
17:53:39:3552 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:39:3552 Rx 1 0x8222222 x 8 00 01 FF 00 94 02 17 00
17:53:39:4652 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 17 00
17:53:39:5162 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:39:5162 Rx 1 0x8222222 x 8 00 01 FF 00 58 02 18 00
17:53:39:6272 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 18 00
17:53:39:6782 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:39:6792 Rx 1 0x8222222 x 8 00 01 FF 00 9A 19 19 00
17:53:39:7822 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 19 00
17:53:39:8332 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:39:8342 Rx 1 0x8222222 x 8 00 01 FF 00 46 01 1A 00
17:53:39:9352 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1A 00
17:53:39:9862 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:39:9862 Rx 1 0x8222222 x 8 00 01 FF 00 64 00 1B 00
17:53:40:0952 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1B 00
17:53:40:1472 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:40:1472 Rx 1 0x8222222 x 8 00 01 FF 00 9A 19 1C 00
17:53:40:2532 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1C 00
17:53:40:3042 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:40:3052 Rx 1 0x8222222 x 8 00 01 FF 00 B3 06 1D 00
17:53:40:4072 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1D 00
17:53:40:4602 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:40:4602 Rx 1 0x8222222 x 8 00 01 FF 00 AA 01 1E 00
17:53:40:5602 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1E 00
17:53:40:6112 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:40:6112 Rx 1 0x8222222 x 8 00 01 FF 00 C3 05 1F 00
17:53:40:7212 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 1F 00
17:53:40:7722 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:40:7722 Rx 1 0x8222222 x 8 00 01 FF 00 9A 19 20 00
17:53:40:8772 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 20 00
17:53:40:9282 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:40:9292 Rx 1 0x8222222 x 8 00 01 FF 00 40 06 21 00
17:53:41:0272 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 21 00
17:53:41:0782 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:41:0792 Rx 1 0x8222222 x 8 00 01 FF 00 AC 0D 22 00
17:53:41:1872 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 22 00
17:53:41:2382 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:41:2382 Rx 1 0x8222222 x 8 00 01 FF 00 B6 03 23 00
17:53:41:3452 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 23 00
17:53:41:3962 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:41:3962 Rx 1 0x8222222 x 8 00 01 FF 00 04 00 24 00
17:53:41:5032 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 24 00
17:53:41:5542 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:41:5552 Rx 1 0x8222222 x 8 00 01 FF 00 04 00 25 00
17:53:41:6532 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 25 00
17:53:41:7042 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:41:7052 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 26 00
17:53:41:8102 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 26 00
17:53:41:8612 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:41:8612 Rx 1 0x8222222 x 8 00 01 FF 00 82 00 27 00
17:53:41:9692 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 27 00
17:53:42:0212 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:42:0212 Rx 1 0x8222222 x 8 00 01 FF 00 05 00 28 00
17:53:42:1252 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 28 00
17:53:42:1772 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:42:1782 Rx 1 0x8222222 x 8 00 01 FF 00 00 40 29 00
17:53:42:2832 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 29 00
17:53:42:3352 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:42:3362 Rx 1 0x8222222 x 8 00 01 FF 00 05 00 2A 00
17:53:42:3372 Rx 1 0x8222222 x 8 00 01 FF 00 05 00 2A 00
17:53:42:4342 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2A 00
17:53:42:4852 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:42:4852 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 2B 00
17:53:42:4862 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2B 00
17:53:42:5362 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2B 00
17:53:42:5892 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:42:5892 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 2C 00
17:53:42:7022 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2C 00
17:53:42:7532 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:42:7542 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 2D 00
17:53:42:8602 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2D 00
17:53:42:9112 Rx 1 0x8111111 x 8 00 03 FF 00 00 00 00 00
17:53:42:9122 Rx 1 0x8222222 x 8 00 01 FF 00 00 00 2E 00
17:53:43:0142 Rx 1 0x8111111 x 8 00 02 FF 00 00 00 2E 00
17:53:43:0652 Rx 1 0x8111111 x 8 00 04 FF 00 00 00 00 00
17:53:43:0652 Rx 1 0x8222222 x 8 02 00 FF 00 00 00 00 00
第2页参数的读取过程
假设 第2页 我设置开始的四个参数
分别是转速 KP 1650
分别是转速 KI 820
分别是转速 Kd 3280
D轴电流 KP 660
第一帧 是 上位机发送给下位机 告诉下位机 我要修改参数
04 FF FF 00 00 00 00 00
第二帧 是 下位机上传给上位机 告诉上位机 下位机已经准备好了 上位机机对下位机进行参数修改,等待上位机发送修改参数的指令 如下图:
第三帧 上位机发送给下位机 要修改的参数
消息帧为 00 02 FF 00 72 06 11 00 ID号是 0x08111111
00 02 FF 表示是握手帧 是应答端 对于本次修改参数,上位机是发送端,下位机是应答端
- 是保留字节
72 是参数的低字节
06 是参数的高字节
11 是参数ID号
- 是保留字节
第四帧 是下位机通知上位机 下位机已经完成了上位机要我完成的事情
消息帧为 00 01 FF 00 72 06 11 00 ID号0X08222222
00 01 FF 表示是 握手帧 是发起端 对于本次修改参数
- 是保留字节
72 是参数的低字节
06 是参数的高字节
11 是参数的ID号
00 是保留字节
同理 第5帧 第6帧 第7帧 第8帧 第9帧 第10帧
第11帧 上位机 发送给 下位机
ID 号 0X08111111 00 04 FF 00 00 00 00 00
- 04 FF 上位机任务完成通知帧,告知下位机 当前任务已经完成,可以将其从任何可 能的死循环中退出
第12帧 下位机 发送给 上位机
ID号 0X8222222 04 00 FF 00 00 00 00 00
04 00 FF 是下位机 告诉 上位机 上位机所设定的数据已经成功写入
百度网盘 已经上传程序源文件 以及 上位机的操作视频。 视频软件可参考。
我编写的EEPROM 上位机软件的更多相关文章
- VC++编写简单串口上位机程序
VC++编写简单串口上位机程序 转载: http://blog.sina.com.cn/s/articlelist_1809084904_0_1.html VC++编写简单串口上位机程序 串口通信 ...
- C++ MFC实现基于RFID读写器的上位机软件
C++ MFC实现基于RFID读写器的上位机软件 该博客涉及的完整工程托管在https://github.com/Wsine/UpperMonitor,觉得好请给个Star (/▽\=) 运行和测试环 ...
- VS2015编写的MFC上位机,波特率可调,可动态显示曲线,可显示三维
VS2015编写的MFC上位机,波特率可调,可动态显示曲线,可显示三维 2016年01月14日 11:40:28 博博有个大大大的Dream 阅读数:9375 版权声明:本文为博主原创文章,未经博 ...
- 9-ESP8266 SDK开发基础入门篇--编写串口上位机软件
https://www.cnblogs.com/yangfengwu/p/11087613.html 页面修改成这样子 现在看串口发送数据 点击点亮 发送0xaa 0x55 0 ...
- 【安富莱原创开源应用第1期】花式玩转网络摄像头之TCP上位机软件实现,高端大气上档次,速度2MB/S,华丽丽的界面效果
说明:1.例子是两年前做的,一直没有顾上整理出来,今天特地整理出来,开源出来给大家玩.2.上位机是emWin模拟器开发的,大家估计很难猜到,所以你会emWin话的,就可以轻松制作上位机.做些通信和控制 ...
- [自娱自乐] 4、超声波测距模块DIY笔记(四)——终结篇·基于C#上位机软件开发
前言 上一节我们已经基本上把超声波硬件的发射和接收模块全部做好了,接下来我们着手开发一个软硬结合的基于C#的平面定位软件! 目录 一.整体思路 二.效果提前展示 2-1.软件部分展示 2-2.硬件部分 ...
- 【安富莱专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传速度可狂飙到500KB/S左右
说明:1.在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示.通常的解决办法是用串口上位机,USB接口上位机或者MDK的逻辑分析仪功能,使用这三种方式都比较繁琐.本期专题为大家讲 ...
- 【安富莱专题教程第4期】SEGGER的J-Scope波形上位机软件,HSS模式简单易用,无需额外资源,也不需要写目标板代码
说明:1.在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示.通常的解决办法是用串口上位机,USB接口上位机或者MDK的逻辑分析仪功能,使用这三种方式都比较繁琐.本期专题为大家讲 ...
- 1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据)
首先安装网络监听软件 运行这个软件 这个软件安装到电脑上,默认是监听咱电脑上的网络通信 咱们先监听电脑的软件的网络通信数据,然后再说怎么监听Wi-Fi和APP的软件的网络通信数据 咱就监听咱基础篇的 ...
随机推荐
- 解题报告:luogu P5543 [USACO19FEB]The Great Revegetation S
题目链接:P5543 [USACO19FEB]The Great Revegetation S 好坑啊,都身败名裂了. 思路一: 考虑染色法,跑一遍搜所就好了,不给代码了. 思路二: 考虑并查集,我想 ...
- Batch批量替换hosts
hosts文件替换 工作需要,要修改很多计算机的hosts文件,采用bat批量完成 解决的问题: 1.pc工作在非管理员权限,右键管理员权限太麻烦,因此采用执行中申请管理员权限的方式 2.hosts和 ...
- 二、js中基础知识
该篇文章主要是强化一下自己javaScript的基础,让写代码变得更轻松些.基础好的请忽略. JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解 ...
- hadoop的扩容
一.横向扩容(参见:https://www.cnblogs.com/yangy1/p/12362565.html) 现在在此基础上再添加一个节点 1.克隆一台主机hdp03(克隆hdp02) 修改ip ...
- 题解 LG P2264
这是题解P2264 先讲一下Trie,其实Trie也名前缀树,就是说:如果Trie中某串是某串的前缀,那么我们可以共用这个串也就是这样: 插入h.hk.jc,jcfa 那么,h节点会给h和hk共用,j ...
- 解决Eclipse Debug 断点调试的source not found问题
写完代码进行调试的时候,经常会用到断点调试,一步步检测问题,但有时候eclipse有时候无法进入断点,这样就失去了断点的意义,原因是debug无法找到该项目的源代码,解决方法如下 1,打开debug ...
- coding 321
三大原理(计算机原理.操作系统原理.编译原理)两个协议(TCP与HTTP协议)一种结构(数据结构)
- Mybatis入门(四)配置优化(一)
这一章主要实验Mybatis的引入外部配置文件,属性(properties)这个属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素 ...
- Java服务端对Cookie的简单操作
Java服务端对Cookie的简单操作 时间 2016-04-07 10:39:44 极客头条 原文 http://www.cuiyongzhi.com/index.php/post/15.html ...
- 在React中随机生成图形验证码
各个方法 在输入框中定义一个位置存放图形 完整代码 方便复制粘贴 import React, { Component } from 'react'; import styles from './lef ...