嵌入式系统或传感器网络的很多应用和测试都需要通过PC机与嵌入式设备或传感器节点进行通信。其中,最常用的接口就是RS-232串口和USB接口(并口)。鉴于USB接口的复杂性以及不需要很大的数据传输量,现模块中使用了串口进行通讯。
其中SUN的CommAPI分别提供了对常用的RS232串行端口和IEEE1284并行端口通讯的支持。RS-232-C(又称EIA RS-232-C,以下简称RS232)是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它是一个全双工的通讯协议,可以同时进行数据接收和发送的工作。
目前,常见的Java串口包有SUN在1998年发布的串口通信API:comm2.0.jar(Windows下)、comm3.0.jar(Linux/Solaris);IBM的串口通信API以及一个开源的实现。现模块中使用了comm3.0.jar(Linux/Solaris)串口包进行串口通讯。
首先需要打开串口,如下所示:
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(“串口名”);
try {
SerialPort sPort = (SerialPort) portId.open("串口所有者名称", 超时等待时间);
} catch (PortInUseException e) {//如果端口被占用就抛出这个异常
throw new SerialConnectionException(e.getMessage());
}
然后使用InputStream从串口读取数据,使用OutputStream向串口写入数据,如下所示:
try {
in = serialPort.getInputStream();
out = serialPort.getOutputStream();
} catch (IOException e) {
return InitFail;
}
最后设置初始化通讯参数,分别为波特率、输入/输出流控制、数据位数、停止位和齐偶校验。这里设置为9600, N, 8, 1:
try {
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {
return InitFail;
}
经过以上的初始化工作就可以通过调用in. read()以及out.write(char)进行数据读取及发送工作了。该模块同样通过调用out.write(char)向外网设备发送AT命令及PDU数据包,通过in.read()读取从外网设备返回的数据。
分享到:
相关推荐
要通过串口发送命令,我们可以使用`UART_SendByte()`或`UART_SendString()`函数将单个字符或字符串发送到串口。这些命令会被转换为电信号并通过连接的线路传输。 5. **LED控制**: LED灯的控制通常涉及微控制器的...
用c语言实现双机通信,实现一个显示时间,一个键盘控制,通过串口发送命令字
标题中的“ComX.rar_CO_comx_linux com口_串口发送命令”暗示了这是一个与Linux系统下串行通信相关的资源包,主要涉及COM接口(在Windows中称为COM口,在Linux中通常称为UART或串口)以及如何通过串口发送命令。...
可以打开串口发送命令
使用串口助手发送16进制数控制相应的led灯的亮灭
串口调试工具, 调试串口好坏,发送相关命令
[210]串口通信 通过串口发送、接收命令.zip上位机开发VC串口学习资料源码下载[210]串口通信 通过串口发送、接收命令.zip上位机开发VC串口学习资料源码下载[210]串口通信 通过串口发送、接收命令.zip上位机开发VC串口...
通过pc机串口控制单片机系统实现电源管
代码中定义了一个名为`may`的函数,用于通过串口发送命令。该函数接收三个参数:`par`(串口参数,如波特率)、`comm`(待发送的命令字符串)、`ss`(用于存储接收数据的缓冲区)。函数内部,通过调用`bioscom`初始...
可以通过串口发送不同的指令改变数码管和灯的亮灭可以让蜂鸣器响
确保在串口初始化时设置了正确的波特率、停止位、数据位和校验位,以便与发送端正确通信。 在STM32CubeMX工具中,可以快速配置这些参数,并自动生成初始化代码。在HAL库或LL库中,有对应的函数如HAL_TIM_PWM_Start...
本压缩包"电脑与单片机通过串口发送与接收c程序.rar"提供了一套经过测试的成功方案,用于实现这一功能。下面我们将详细探讨相关的知识点。 1. **串口通信基础**:串口通信是指数据以串行方式传输,通常采用RS-232、...
[044]vc++6.0开发的,可通过此动态链接库向串口发送命令、信息。可用于串口程序的开发,非常有用.zip上位机开发VC串口[044]vc++6.0开发的,可通过此动态链接库向串口发送命令、信息。可用于串口程序的开发,非常有用...
我们将深入探讨串行接口的工作原理、如何通过串口发送命令以及在实际应用中涉及的技术细节。 串口通信,也称为RS-232通信,是一种标准接口,允许计算机与其他设备进行单向或双向数据传输。在打印机控制中,串口通常...
这个系统允许远程设备通过串口发送命令,控制目标设备上LED的亮灭状态。在实际应用中,串口通信可以用于更复杂的交互,如传感器数据传输、远程控制等。同时,GPIO控制广泛应用于各种嵌入式系统的硬件接口控制。
* 串口控制命令:用户可以通过串口发送命令来控制电源的输出电压、电流和其他参数 * 命令格式:<command code><parameter> * 例如:设置输出电压为10V: 4. IT6332A系列程控电源的安全标志: * 警告标志:表示有...
串口发送命令操作打印机.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
在本系统中,它作为PC与TC35模块之间的桥梁,使得PC可以通过串口发送命令到TC35,进而控制模块进行短信的收发。 3. **PC端软件开发**:为了实现短信收发,需要编写一个运行在PC上的应用程序。这个程序应能处理与TC...
windows脚本给串口发送16进制数据(亲测有效).bat
在LabVIEW中,串口读写通常涉及两个主要操作:Write to Serial Port用于发送命令或数据到串口,Read from Serial Port则用于接收设备的响应。这两个函数可能被整合在一个循环中,以便不断发送新命令并处理返回的...