笔记本ubuntu系统Java开发串口程序

笔记本ubuntu系统Java开发串口程序
一、 开发环境配置
由于笔记本没有串口,并且在ubuntu下没有虚拟串口软件(我没有找到~~~),所以需要用虚拟机安装ubuntu系统,我用的是VM ware 7.0,系统是ubuntu 11.04,当然宿主系统是XP SP3。
以下开发环境配置步骤:
1、 在XP下安装VSPD XP 5.1,增加一对串口COM1和COM2
2、 在XP下运行串口调试助手UartAssist,测试串口是否能够正常使用
3、 在XP下安装虚拟机VM ware 7.0,在虚拟机下安装ubuntu11.04,安装完成后关闭系统,点击“编辑虚拟机设置”,在接下来的步骤中点击“添加”,选择“串口”,选择“物理端口”,选择“COM1”,添加完成,确定
4、 如果第2步中串口调试助手正在连接COM1,断开COM1的连接,(如果不断开,虚拟机无法使用COM1),在XP下用UartAssist连接上COM2,波特率9600,8,1
5、 启动虚拟机,进入ubuntu系统(当然,首先要安装VM tools和eclipse),在Ubuntu软件中心中搜索串口测试软件CuteCom,并安装,在“应用程序”-“其他”中选择“CuteCom”,运行,Open串口“ttyS0”(这就是XP系统中的COM1,只不过两个系统中的名字不一样),设置波特率9600,8,1,打开串口
6、 在CuteCom中输入aaaaa,回车发送
7、 回到XP中,如果UartAssist正在监听COM2,那么会在UartAssist中接收到aaaaa
二、 编写程序测试
我使用的是rxtx包,需要在eclipse中进行相关配置
1、 创建一个工程,在工程中创建一个lib的文件夹,把RXTXcomm.jar和librxtxSerial.so、librxtxParallel.so复制到lib文件夹中
2、 右键点击工程,选择 properties –> build path ->Library , 将这三个文件add Jars ,点击RXTXcomm.jar左边的下三角,选择Native library location ,把它的目录设置为项目中lib的目录(这一步如果不能设置好,会出现错误:java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/i386/client/librxtxSerial.so: /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/i386/client/librxtxSerial.so: cannot open shared object file: Permission denied thrown while loading)
3、 创建一个类,这里我给出一个例子(对别人的适当修改)
package com.test;

import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import gnu.io.UnsupportedCommOperationException;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.TooManyListenersException;


public class SimpleRead2 implements SerialPortEventListener { //SerialPortEventListener 监听器,我的理解是独立开辟一个线程监听串口数据
static CommPortIdentifier portId; //串口通信管理类

static Enumeration portList; //已经连接上的端口的枚举

InputStream inputStream; //从串口来的输入流

OutputStream outputStream;//向串口输出的流

SerialPort serialPort; //串口的引用


public SimpleRead2() {
try {
portId = CommPortIdentifier.getPortIdentifier("/dev/ttyS0");
} catch (NoSuchPortException e1) {
//没有这个串口
e1.printStackTrace();
}
try {
serialPort = (SerialPort) portId.open("myapp", 2000);//打开串口名字为myapp,延迟为2毫秒
} catch (PortInUseException e) {
//串口正在使用
}
try {
inputStream = serialPort.getInputStream();
outputStream = serialPort.getOutputStream();
} catch (IOException e) {
}

try {
serialPort.addEventListener(this); //给当前串口天加一个监听器
} catch (TooManyListenersException e) {
}

serialPort.notifyOnDataAvailable(true); //当有数据时通知

try {
serialPort.setSerialPortParams(2400, SerialPort.DATABITS_8, //设置串口读写参数
SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {
}
}
public void serialEvent(SerialPortEvent event) {//SerialPortEventListener 的方法,监听的时候会不断执行
switch (event.getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE://当有可用数据时读取数据,并且给串口返回数据
byte[] readBuffer = new byte[1000];

try {
while (inputStream.available() > 0) {
int numBytes = inputStream.read(readBuffer);
}
System.out.println(new String(readBuffer));
char[] a= {0x16,0x16,0x20,0x10,0x69,0x0,0x03,0x20,0x01,0x22};
byte[] b = new String(a).getBytes();
outputStream.write(b);
} catch (IOException e) { }
break;
}
}

public static void main(String[] args) {
SimpleRead2 reader = new SimpleRead2(); //实例一个
}
}

运行此程序,在XP中UartAssist输入任意数据并发送就能在程序中看到结果了
4、 如果想在Ubuntu中用程序测试串口的输入输出,则需要在虚拟机中添加两个串口COM1和COM2,并且必须保证打开虚拟机之前,在XP系统中没有其他的程序(比如UartAssist)在使用这两个虚拟串口,否则会出错
5、 在Ubuntu中的eclipse中编写两个程序用来测试程序,需要在上个例子程序中分别打开ttyS0和ttyS1(分别对应XP中的COM1和COM2),两个程序调试串口的例子我会放在附件中

2011.6.15 16:51
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Snap是Ubuntu的一种包管理器,可以用来安装和管理软件包。要在Ubuntu上使用Snap搭建Java开发环境,请遵循以下步骤: 1. 安装Snap 如果您的系统上还没有安装Snap,您可以使用以下命令安装Snap: ``` sudo apt update sudo apt install snapd ``` 2. 安装Java 使用Snap可以很容易地安装Java。要安装Java,请使用以下命令: ``` sudo snap install java ``` 3. 配置Java环境变量 安装完Java后,您需要设置Java环境变量。打开终端并使用以下命令: ``` sudo nano /etc/environment ``` 将以下行添加到文件末尾,其中“/snap/java/current”是Java的安装路径: ``` JAVA_HOME=/snap/java/current ``` 按Ctrl+X,然后按Y保存并退出nano。 4. 安装Java开发工具 现在您已经安装了Java和设置了Java环境变量,可以安装Java开发工具。使用以下命令安装Eclipse: ``` sudo snap install eclipse --classic ``` 使用以下命令安装IntelliJ IDEA: ``` sudo snap install intellij-idea-community --classic ``` 现在您已经成功使用Snap搭建了Java开发环境。您可以使用Eclipse或IntelliJ IDEA开始编写Java代码了。 ### 回答2: 在Ubuntu系统上使用snap搭建Java开发环境非常简单。首先,确保您的系统已连接到互联网。 首先,打开终端。您可以使用Ctrl + Alt + T键组合来快速打开终端。 然后,输入以下命令来安装Java(如果尚未安装): ``` sudo snap install openjdk ``` 该命令将下载并安装最新版本的OpenJDK。 然后,您可以使用以下命令来确认Java是否成功安装: ``` java -version ``` 您将看到Java的版本信息。 接下来,您可能还需要安装其他Java开发所需的软件包,例如Maven或Gradle。您可以使用以下命令来安装Maven: ``` sudo snap install --classic maven ``` 或使用以下命令来安装Gradle: ``` sudo snap install --classic gradle ``` 这些命令将下载并安装最新版本的Maven或Gradle。 一旦这些步骤完成,您就可以开始使用Java进行开发。您可以使用任何喜欢的文本编辑器编写Java代码,并使用命令行工具(如javac和java命令)来编译和运行代码。 总结一下,使用Snap在Ubuntu系统上搭建Java开发环境非常简单。只需几个命令即可安装所需的软件包,并开始使用Java进行开发。 ### 回答3: 在Ubuntu系统中,可以使用snap来搭建Java开发环境。Snap是一种软件打包技术,它可以帮助用户以更加简便和安全的方式安装和管理应用程序。 首先,打开终端并更新系统软件源,使用以下命令: sudo apt update sudo apt upgrade 接下来,安装snap包管理器,使用以下命令: sudo apt install snapd 然后,通过以下命令安装OpenJDK(Java开发工具包): sudo snap install --classic java 此命令将安装最新版本的OpenJDK。安装完成后,即可在系统中使用Java开发环境。 如果需要安装其他Java开发工具,可以使用类似命令的方式进行安装。例如,安装Maven(Java项目管理工具),可以使用以下命令: sudo snap install --classic maven 类似地,可以使用snap安装其他常用的Java开发工具,如Gradle(构建工具)和IntelliJ IDEA(集成开发环境)等。只需使用相应的命令进行安装即可。 安装完成后,可以通过以下命令来查看已安装的snap软件包: snap list 要卸载某个已安装的snap软件包,可以使用以下命令: sudo snap remove 软件包名称 总之,使用snap可以方便地搭建Java开发环境,并且可以很容易地安装和管理各种Java开发工具。通过上述步骤,您可以在Ubuntu系统上快速搭建Java开发环境并开始编写Java应用程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值