CANmonitor我自己编写的程序
2024-09-05 17:10:15
这个版本的程序, 上位机可以对电机的转速进行在线的设定,同时上位机接受电机控制器上报的母线电压,电机温度,控制器温度等。
在调试的过程中我遇见了一个问题,电机的转速的采样 。
根据协议:电机的转速为16位有符号数。我需要将两个字节合并成一个字进行显示。
我的做法是:有符号数 他的范围是-32768------32767
因为最高位是符号位 ,所以我采用先将两个字节拼接成一个字,然后
VB中的right (abcdef,2)表示取出字符串右边的两个字符。
Cint("&h"&text15.text) 表示将拼接的字符转换为16位有符号数 即Cint
Int 代表integer .
对电机转速采样的修改
我的方法是 先查看了 谭浩强 C语言中 的整形数
确定了 负数 -32768 在内存中的存放形式为 1000 0000 0000 0000
至于为什么是这个形式,你下去再做分析。
我假设在11号邮箱中
EcanaMboxes.MBOX11.MDL.word.LOW_WORD=(int16)_IQtoIQ15(Wm_filter);
即我认为DSP2812 上传给VB上位机的速度信息就是一个 有符号数
假设DSP上传的数据 为 1000 0000 0000 0000 即 0x8000
我在VB上位机显示 应该是 -32768
于是在 VB的formload 事件里 定义一个变量
Dim tempaaaa As Integer tempaaa 为定义的16位有符号数,范围-32768--32767
tempaaa = &H8000
MorphLCD1(1).Value = Val(tempaaa)
如下图:
运行结果为:
最新文章
- [Elixir007] on_definition规范函数定义时的各种潜规则
- redis和memcached比较
- AfterEffects 关键帧辅助功能
- 详解Android定位
- JAVA使用原始HttpURLConnection发送POST数据
- mariadb启动
- NOIP2013-普及组初赛C语言解析
- 分享如何使用PHP将URL地址参数进行加密传输提高网站安全性
- Django小范围傻瓜总结
- html css <;input>; javaScript .数据类型 JS中的函数编写方式 BOM总结 DOM总结
- Django的Admin站点管理
- 音乐app各部分笔记(一)
- P1182 数列分段`Section II` P1316 丢瓶盖 二分答案
- C#执行EXE程序
- Servlet笔记9--Cookie
- Javascript面向对象二
- python网络编程-paramiko
- APScheduler - Advanced Python Scheduler
- 对PHP输入输出流学习和认识
- debian下ror新建项目报错解决