idea ssm项目java程序使用十六进制rxtx包向串口发送指令的方法

1.前提

idea ssm项目环境要配好,这里就不多赘述了,自己配好

2.下载配置rxtx包
官网下载:http://rxtx.qbang.org/wiki/index.php/Download
根据需要下载,本章记录的是windows10下64位系统的配置

3.踩过的坑
如果和我一样是windows10系统下64位操作系统,不要去用别的博客说的comm2.0.jar串口开发包,因为在配置后会出现问题:Can't load IA 32-bit .dll on a AMD 64-bit platform
这是因为这个包在配置时需要一个win32.dll的东西,但是这东西是没有64位的,所以这个问题,根本没办法解决。。。
所以。建议用RXTX包进行串口开发

4.配置
下好后,将下载到zip解压,%JAVA_HOME%表示jdk的安装根目录

1.复制rxtxSerial.dll 到%JAVA_HOME%\jre7/bin/

2..复制RXTXcomm.jar 到%JAVA_HOME% \jre7/lib/ext/

5.发送串口命令

CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(port);
 try{
			 SerialPort sPort = (SerialPort)portId.open("名字自己定",1000);
			 OutputStream outputStream = sPort.getOutputStream();
			 outputStream.write(hexStrToBinaryStr("对应指令"));
			 //写入对应指令
			 Thread.sleep(3000);
 //停3秒,再写入指令
			 outputStream.write(hexStrToBinaryStr("对应指令"));
			 outputStream.flush();
			 outputStream.close();
 //关闭端口别忘了
			 sPort.close();
 }
 catch (PortInUseException | IOException | InterruptedException e) {
			 e.printStackTrace();
		 }

可将发送指令代码变成函数,随意调用

注:

outputStream在这里的参数是字节数组,那个函数是将指令变成十六进制,至于怎么把string转成十六进制,网上很多,自己去找,找个自己看得懂的。

6.总结

至此,发送指令就结束了,代码很简单,要想用更复杂的,去网上找,资源很多,应当是没什么问题了。。。

到此这篇关于idea ssm项目java程序向串口发送指令并且使用十六进制 rxtx包的方法的文章就介绍到这了,更多相关idea ssm使用十六进制rxtx包向串口发送指令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅谈java指令重排序的问题

    指令重排序是个比较复杂.觉得有些不可思议的问题,同样是先以例子开头(建议大家跑下例子,这是实实在在可以重现的,重排序的概率还是挺高的),有个感性的认识 /** * 一个简单的展示Happen-Before的例子. * 这里有两个共享变量:a和flag,初始值分别为0和false.在ThreadA中先给 a=1,然后flag=true. * 如果按照有序的话,那么在ThreadB中如果if(flag)成功的话,则应该a=1,而a=a*1之后a仍然为1,下方的if(a==0)应该永远不会为 * 真,

  • Java语言中cas指令的无锁编程实现实例

    最开始接触到相关的内容应该是从volatile关键字开始的吧,知道它可以保证变量的可见性,而且利用它可以实现读与写的原子操作...但是要实现一些复合的操作volatile就无能为力了...最典型的代表是递增和递减的操作.... 我们知道,在并发的环境下,要实现数据的一致性,最简单的方式就是加锁,保证同一时刻只有一个线程可以对数据进行操作....例如一个计数器,我们可以用如下的方式来实现: public class Counter { private volatile int a = 0; pub

  • Java加载与存储指令之ldc与_fast_aldc指令

    目录 1.ldc字节码指令 2.fast_aldc虚拟机内部字节码指令 ldc指令可以加载String.方法类型或方法句柄的符号引用,但是如果要加载String.方法类型或方法句柄的符号引用,则会在类连接过程中重写ldc字节码指令为虚拟机内部使用的字节码指令_fast_aldc.下面我们详细介绍ldc指令如何加载int.float类型和类类型的数据,以及_fast_aldc加载String.方法类型或方法句柄,还有为什么要进行字节码重写等问题. 1.ldc字节码指令 ldc指令将int.floa

  • Java中invokedynamic字节码指令问题

    1. 方法引用和invokedynamic invokedynamic是jvm指令集里面最复杂的一条.本文将从高观点的角度下分析invokedynamic指令是如何实现方法引用(Method reference)的. 具体言之,有这样一个方法引用: interface Encode { void encode(Derive person); } class Base { public void encrypt() { System.out.println("Base::speak");

  • Java基础之常用的命令行指令

    1.进入某盘,直接打出要进入的存储盘再冒号回车即可 例如:从C盘中的\Users\Administrator目录下进入d盘 打出"d:"再回车就欧克啦~ 2. "dir"显示某目录或某盘下的所有文件目录 例如:1.显示D盘下的文件目录 打出"dir"再回车 3. "md"新建文件夹 例如:1.在d盘下创建一个叫JavaEE的文件[也可在d盘的文件目录下建立文件夹] 格式是md javaEE再回车就可以啦.我们可以去我的电脑d盘

  • 谈谈Java类型中ParameterizedType,GenericArrayType,TypeVariabl,WildcardType

    (1). 和反射+泛型有关的接口类型 java.lang.reflect.Type:java语言中所有类型的公共父接口 java.lang.reflect.ParameterizedType java.lang.reflect.GenericArrayType java.lang.reflect.WildcardType 1. Type直接子接口 ParameterizedType,GenericArrayType,TypeVariable和WildcardType四种类型的接口 Paramet

  • java虚拟机指令dup详解

    本文实例为大家介绍了java虚拟机指令dup,供大家参考,具体内容如下 举个例子: public class ExceptionTest{ void cantBeZero(int i) throws Exception{ throw new Exception(); } } 上面代码编译后的字节码指令如下: void cantBeZero(int) throws java.lang.Exception; descriptor: (I)V flags: Code: stack=2, locals=

  • Java字节码指令集的使用详细

    Java虚拟机指令由一个字节长度的.代表某种特定含义的操作码(Opcode)以及其后的零个至多个代表此操作参数的操作数构成.虚拟机中许多指令并不包含操作数,只有一个操作码.若忽略异常,JVM解释器使用一下为代码即可有效工作. 复制代码 代码如下: do{    自动计算PC寄存器以及从PC寄存器的位置取出操作码    if(存在操作数) 取出操作数;    执行操作码所定义的操作;}while(处理下一次循环) 操作数的数量以及长度,取决于操作码,若一个操作数长度超过了一个字节,将会以Big-E

  • idea ssm项目java程序使用十六进制rxtx包向串口发送指令的方法

    1.前提 idea ssm项目环境要配好,这里就不多赘述了,自己配好 2.下载配置rxtx包 官网下载:http://rxtx.qbang.org/wiki/index.php/Download 根据需要下载,本章记录的是windows10下64位系统的配置 3.踩过的坑 如果和我一样是windows10系统下64位操作系统,不要去用别的博客说的comm2.0.jar串口开发包,因为在配置后会出现问题:Can't load IA 32-bit .dll on a AMD 64-bit platf

  • idea ssm项目java程序向串口发送指令并且使用十六进制 rxtx包的方法

    idea ssm项目 java程序向串口发送指令并且使用十六进制 rxtx包 1.前提 idea ssm项目环境要配好,这里就不多赘述了,自己配好 2.下载配置rxtx包 官网下载:http://rxtx.qbang.org/wiki/index.php/Download 根据需要下载,本章记录的是windows10下64位系统的配置 3.踩过的坑 如果和我一样是windows10系统下64位操作系统,不要去用别的博客说的comm2.0.jar串口开发包,因为在配置后会出现问题:Can't lo

  • 解析Java程序中对象内存的分配和控制的基本方法

    一.对象与内存控制的知识点 1.java变量的初始化过程,包括局部变量,成员变量(实例变量和类变量). 2.继承关系中,当使用的对象引用变量编译时类型和运行时类型不同时,访问该对象的属性和方法是有区别的. 3.final修饰符特性. 二.java变量的划分与初始化过程 java程序的变量大体可以分为成员变量和局部变量,成员变量可以分为实例变量(非静态变量)和类变量(静态变量),一般我们遇到的局部变量会在下列几种情况中出现: (1)形参:在方法签名中定义的局部变量,由调用方为其赋值,随着方法结束消

  • SpringBoot项目中jar发布获取jar包所在目录路径的最佳方法

     示例代码: //第一种 File path = new File(ResourceUtils.getURL("classpath:").getPath()); if(!path.exists()) path = new File(""); System.out.println(path.getAbsolutePath()); //第二种 System.out.println(System.getProperty("user.dir")); //

  • Eclipse创建java程序可执行jar包教程

    一.eclipse中,在要打成jar包的项目名上右击,出现如下弹出框,选择"export": 二.在接下来出现的界面中点击"jar file",然后next: 三.在接下来出现的界面中,如图所示勾选上要打包的项目以及其他选项,例如test项目:然后点击右边箭头所指的browse,选择打好的jar包要保存的目录,同时给自己的jar包命名,例如我这里选择存放在桌面,名字为jarTest;然后点击"next",在之后弹出的界面中再点击一次"n

  • 将Java程序的输出结果写到txt文件中的方法

    1.将输出结果输出到txt文件 步骤一: 头文件 import java.io.FileOutputStream;   import java.io.PrintStream; 可能还会提醒抛出错误,于是import java.io.FileNotFoundException; 步骤二: PrintStream ps = new PrintStream("e:/log.txt"); // 创建一个打印输出流,输出的目标是:E盘的log.txt文件 步骤三: System.setOut(p

  • 超详细介绍idea中java程序打jar包的两种方式

    java程序打成的jar包有两种类型,一种是可直接执行的runnable jar文件,另一种是包含多个主类,运行时需要指定主类全类名的jar包,下面我们细说在idea中两种jar包的打包方法及执行jar包时的命令. 第一种: 含多个主类的jar包打包方法及运行命令在写好我们要打jar包的java程序后,点击idea右上角如图所示位置 先选择Artifacts,再点击加号 点击Empty新建一个新的jar包 如图,设置jar包名称,jar包打好后所在的路径,以及添加工程编译文件 点击OK后,会回到

  • IDEA2020.1启动SpringBoot项目出现java程序包:xxx不存在

    本地启动springboot项目一直报一个工具类的找不到,但是我看了好几次,那个类明明就在项目中,不知道为什么一启动项目就报错,,说这个包xxxx不存在,,弄了我一晚上没睡好觉,,整的我都快开始怀疑人生了,.我是谁?我在那?我还适合敲代码吗? Error:(3, 38) java: 程序包org.springframework.stereotype不存在 Error:(4, 47) java: 程序包org.springframework.web.bind.annotation不存在 Error

  • 在ssm项目中使用redis缓存查询数据的方法

    在项目中常常需要后台程序的持久层查询数据库来获取数据,然后将数据交给服务层.控制层,最后才交给视图层.如果数据访问缓慢,就会影响程序的运行. 为了加快程序的运行,可以将数据放入缓存中,包括数据缓存和页面缓存. 所谓缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例.这样做可以减少系统开销,提高系统效率. 其中页面缓存主要是oscache,可以整页或者指定网页某一部分缓存,同时指定他的过期时间,这样在此时间段里面访问的数据都是一样的 . 数据缓存

  • 使用SpringBoot整合ssm项目的实例详解

    SpringBoot是什么? Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. Spring Boot 现在已经成为 Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成.成为 SpringBoot 全家桶,成为一把万能钥匙. SpringBoot的特点 1.创建独立的 Spring 应用程序 2.嵌入的 Tomcat ,无需部署 WAR 文件 3.简化 Maven 配置 4.自动配置 Spr

随机推荐