看不懂这个子VI,请问能解读一下吗?
时间:10-02
整理:3721RD
点击:
我是在别人的一个系统里面看见这个子VI的,看不太明白,但是大致知道它的作用,请问谁能帮我详细解释一下这个吗? 在系统里波特率的指令是一个字节,比如设置成38400的话指令是04,在这个子VI中,将04跟一个完整的指令连接起来,并输出,最终完成设置波特率的目的。可是我不明白子VI中用到的那些函数是为啥?
应该有协议对应着
是有协议,可是我不明白为啥还要强制转换成数组后用数组子集函数,再求和,再强制,替换字符串,最后再输出?
应该是FA10 04_ 0000 00F5 ,总共是8个字节,第三个字节是04,也就是你所说的波特率,索引数组2到6的元素进行求和再转换成十六进制,得出空白的字符串即下划线,再把该字符串插入空白处,明白?至于为什么这么做,根据通讯协议来
我昨天研究了一下这个,有点明白意思了,不是为了得出下划线,而是为了把校验位整出来,因为这个如果说速率为04,最后输出的是FA10 0400 0000 14F5,上网查了一下 字符串转为数组再求和 好像是串口通信校验码常用的手段,具体的我还没明白。你解释得很清楚,果然基础好好呀~向你学习~
我昨天也觉得校验位为什么放在中间奇怪,然来前面就约定好的十六进制,和我的习惯有点不一样,
你的习惯是什么 ?
我喜欢最后一起转换成十六进制
有没有类似的VI,能给我看看吗?
私以为是求了一个校验,然后添加到命令里面
恩恩 是的 最后搞懂了 !
以前没做过类似的,我学习来的~~~~
这个是串口求校验位常用的部分