文档章节

java 读取地磅读数,COM口.

liueric
 liueric
发布于 2016/09/24 10:33
字数 291
阅读 292
收藏 0

private String weightNum(){
         int flag=1;
        String data=null;
        CommPortIdentifier portId = null;
        InputStream inputStream=null;//串口输入流
        SerialPort serialPort=null;//串口对象
        String str1=null;//缓冲区字节码转换后的字符串
        byte[] readBuffer = new byte[4096];//用于存放串口输入流中读取的字节缓冲区
        StringBuffer buffer = new StringBuffer();//将字节缓冲区的值拼接成字符串
        try{
            Enumeration en = CommPortIdentifier.getPortIdentifiers();
            if(en.hasMoreElements()){
                portId=(CommPortIdentifier)en.nextElement();
                
                if(portId.getPortType()!=CommPortIdentifier.PORT_SERIAL){
                }
            }
            if(portId!=null){//如果有端口对象,打开端口,得到数据流
                
                    serialPort = (SerialPort) portId.open("wData", 1000);//portId.open("串口所有者名称", 超时等待时间);
                    inputStream = serialPort.getInputStream();//获取端口数据流
                    serialPort.setSerialPortParams(9600,//波特率-9600
                    SerialPort.DATABITS_8,//数据位数-8
                    SerialPort.STOPBITS_1,//停止位-1
                    SerialPort.PARITY_NONE);//校验-无
                
            }
            if(flag==1){
                    Thread.sleep(1000);
                    while(inputStream.available() > 0) {
                        inputStream.read(readBuffer);/
                        buffer.append(new String(readBuffer).trim());//去除数据中间空格
                        str1=buffer.toString();//将拼接的字符串转换成用于分离的字符串
                        data=str1;
                        buffer.delete(0, buffer.length());//清空字符串拼接缓存区
                    }
            }
            inputStream.close();
            serialPort.close();
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return data;
    }

调用:

String wNum = weightNum();
        String wData = "";
        if(null != wNum){
            String str = wNum.substring(wNum.indexOf("=")+2,wNum.indexOf("=")+8);
            wData = Integer.valueOf(new StringBuffer(str).reverse().toString()).toString();
        }

直接得到的地磅读数是反的。如1000,会显示0001

需要反转后使用。

 

© 著作权归作者所有

下一篇: JVM_bind
liueric
粉丝 9
博文 31
码字总数 3245
作品 0
苏州
产品经理
私信 提问
PageOffice,word常用接口对象--Table类

在做项目的过程中,经常会遇到要把报表导出到Word文件中再打印的情况,而既然是做报表那就免不了要用到表格,即需要在Word文件中插入table。因此,PageOffice开发平台中就添加了此功能。 Ta...

山里的红杏
2018/09/10
34
0
java获取地磅上的数据

如何使用java获取地磅上的称重数据?

一马平川628
2017/04/25
621
3
FreeMarker 处理 XML 数据源

1 freemarker.ext.dom.NodeModel.parse这个方法将把xml文件处理成map树状结构的模型;该方法支持以File对象,读xml;也提供了一个流适配器,从面能用InsputStream流对象读xml文件。 2 Map ro...

红薯
2009/08/24
3.1K
0
PageOffice,word常用接口对象--Column类

它代表Word中定义的表格列对象,这个对象只能通过Table类对象的openColumn(colmnIndex)方法获取,方法中的参数代表列的索引,从“1”开始,即Column column = table.openColumn(colmnIndex);...

山里的红杏
2018/09/10
13
0
android的frameworks层键盘事件处理流程分析

事件处理流程 1)InputManager负责读取事件并把事件送到frameworks的java层 2)WindowManagerService里会有一个InputMonitor类来监听事件变化并做相应的分发处理。 3)在WindowManagerService会...

鉴客
2011/11/13
15.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

idea 打开一个新的项目,maven都需要重新配置,解决方案

需要有个默认全局配置 File->Other Settings -> Default Settings 将Maven home directory目录修改成我们自定安装Maven的目录...

观海562
32分钟前
4
0
链表中环的入口节点

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路: public ListNode EntryNodeOfLoop(ListNode pHead) { if (pHead == null || pHead.next == null) ...

Garphy
53分钟前
5
0
Spring5 源码分析-容器刷新-invokeBeanFactoryPostProcessors()方法

上一篇:Spring5 源码分析-容器刷新-prepareBeanFactory()方法 该方法主要完成以下功能: 1.实例化ConfigurationClassPostProcessor,并调用ConfigurationClassPostProcessor.postProcessBe...

特拉仔
53分钟前
5
0
为什么MySQL用B+树做索引

索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL的索引主要以B+树为主,但是要问到为什么用B+树,恐怕很少有人能把前因后果讲述的很完整。本文就来从头到尾介绍下数据库的索引。...

小致Daddy
今天
8
0
网站前台的三级联动数据封装

我在进行项目时候遇到了一个进行数据封装的一个功能,进行数据的封装的功能也挺复杂,来回试了好几十种方法.最后使用的是这种方法. 使用一个pojo进行封装两个数据,一个是list一个是实体类. 具体...

小天丶羽
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部