2024年6月12日发(作者:)
java调用coms端口串口通信的方法。
首先需要下到串口驱动。
去sun的主页应该有下的。
在这个驱动中有,ties,
这么3个重要的文件。
1、首先配置驱动,把ties,拷贝到你的jdk
中
具体位置为C:Program FilesJavajdk1.6.0_06bin
然后配置windows系统环境变量,在path中加入C:Program
FilesJavajdk1.6.0_06bin;
打开你的java工程,配置user library,并导入包。
2、现在就可以开始写代码了。串口读写代码如下
CommPortIdentifier portID =
tIdentifier(com);//1,先拿到Identifier
//其中com是String类型的,传入的是串口名com="COM1";
SerialPort port = (SerialPort)("MyComm", 100000000);//2,打
开串口
//"MyComm"是串口名,100000000是串口过期时间(ms)。
ialPortParams(rate, databits,stopbit, parity);//3,设置串口
属性
//rate 波特率(默认9600),databits载波位(默认8),stopbit停止位(默
认1),parity校验位(默认0无校验)
wControlMode(NTROL_NONE);//4(可选)设置数
据流控制模式,默认为无
();//关闭串口
3、串口读入写出流。
OutputStream os=putStream();//拿到写出流。写出流就随便写就
行。
putStream().flush();//写完要记得做一次冲一下缓冲区
InputStream is= utStream();//拿到读入流。
();//每次读入一个int,这个是个阻塞函数,在无数据的时候会中断。
4、串口读入轮询模式
一种读取的方式是每次做
byte b[]=new byte[1024];
(b);
如果返回的是-1表示无数据。可以中断几毫秒然后再去读。
比较低效的一种读取模式,但是在使用阻塞函数的时候还是很好用的。
5、串口的监听模式
//5.1首先建立监听类
public class CommListener implements SerialPortEventListener
//继承自PortEventListener;
//实现监听方法public void serialEvent(SerialPortEvent arg0){}
当有新数据进入的时候会被调用,传入PortEvent对象参数。
if (ntType()==_AVAILABLE)//如果是有效
数据的话就做read
{
//read();
}
//5.2建立好监听类以后要在port上添加。
ntListener(commListener);
//其中port是上文打开的串口端口,commListener是上文的监听器实例


发布评论