• 向串口发送数据,并获得返回值 分类: java 20100630 18:01 4244人阅读 评论(9) 收藏


    实现要求:用java代码通过串口向电路板发送指令“aa00dd0000000055”,获得返回值“AA00DD03000055”【此处注意,没有FF】,经串口调试工具测试,硬件是好的。

    证明如下:

    此工具为串口调试工具,用VB编写的

    java实现其功能代码如下: 

    这段破代码搞了我很长时间,一直没有成功获取返回值,差点要了我的命。但是现在我的命保住了。呵呵。终于获得了正确的返回值。返回结果为:b=-86  b=0  b=-35 b=3  b=0  b=0  b=85  b=85。

    为了测试这段数字的十六进制形式是否跟上面的串口调试工具得到的结果一样,将这段数字转化为十六进制,代码如下:

    结果为:

    -86的十六进制:ffffffaa
    0的十六进制:0
    -35的十六进制:ffffffdd
    3的十六进制:3
    85的十六进制:55

    为了得到只有2位的表示形式,自己判断一下就行了,这里就不介绍了。

    PS:

    1:以前的程序错在没有写监听事件。

    2:以前的程序在获得返回值后将serialPort端口关闭了【这个其实我想不通为什么不能关闭,我觉得应该关闭】

    3:获得portId是不能使用简写,即portId = CommPortIdentifier.getPortIdentifier("COM3");这个是让人比较来火的,居然不能写成简写形式,NND,真晕!

     再PS一下:我还是喜欢我的代码,原因2个字“精简”!看网上的东西废话太多,让人郁闷。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Java多线程之等待唤醒机制
    Java多线程之线程间的通信
    Java多线程之八锁问题
    Java多线程之基础
    el-table的动态合并行和列
    服务器、IP地址和域名之间有什么关系?
    node学习ing
    swipper的轮播图
    swipper内的部分区域的滚动(overflow: auto)与整个屏幕滚动冲突
    vue项目中引入 html2canvas ,控制台报错 Cannot assign to read only property 'className' of object '#< SVGSVGElement >'
  • 原文地址:https://www.cnblogs.com/configman/p/4657619.html
Copyright © 2020-2023  润新知