「java串口编程」java串口编程linux
本篇文章给大家谈谈java串口编程,以及java串口编程linux对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java串口编程中只能用InputStream来读串口来的数据吗?
这两个方法都是阻塞式的方法,readline 方法在流关闭或者缓冲区填满之前,除非遇到回车或换行(\n 或\r)才会返回数据,否则就会一直阻塞在那里等待数据
inputstream的read方法同样是阻塞式方法,当流没有关闭时,他就会一直在那里阻塞等待数据。
试试多线程处理数据流,这样就不需要一直等待流输入了;或者在设备那边每次传输完成都关闭流,但是每次都开启关闭流好像消耗略大
在Linux下怎么用Java进行串口编程
使用串口协议登录Linux终端控制台,通过Zmodem文件传输协议接收一个外部文件。 命令:rz -y 会弹出文件浏览窗口,选择要上传的文件即可。 -y 表示若文件已存在,则覆盖。
java串口编程,数据收发
下面是C写的供你参考:
1.TCP流式套接字的编程步骤
在使用之前须链接库函数:工程-设置-Link-输入ws2_32.lib,OK!
SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);//创建套接字(socket)。
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//转换Unsigned short为网络字节序的格式
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
客户端代码如下:
#include Winsock2.h
#include stdio.h
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, wsaData );加载套接字库
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup()( );
return;
}
SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);创建套接字(socket)。
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
connect(sockClient,(SOCKADDR*)addrSrv,sizeof(SOCKADDR));向服务器发出连接请求(connect)。
char recvBuf[100];和服务器端进行通信(send/recv)。
recv(sockClient,recvBuf,100,0);
printf("%s\n",recvBuf);
send(sockClient,"This is lisi",strlen("This is lisi")+1,0);
closesocket(sockClient);关闭套接字。
WSACleanup()();//必须调用这个函数清除参数
}
java串口编程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java串口编程linux、java串口编程的信息别忘了在本站进行查找喔。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。