ASTM 协议

本文深入探讨了ASTM协议,这是一种广泛应用于医疗设备间通信的标准。内容包括协议的基本原理、结构特点以及在实际应用中的优势和挑战。通过理解ASTM协议,读者能够更好地了解医疗设备之间的数据交换过程。
摘要由CSDN通过智能技术生成
ASTM 协议为标准组织美国材料实验室协会(ASTM)制定的在医疗临床实验室仪器和计算机系统间传输信息的一个标准,此标准有多个版本,本文中提到的版本为 E1394-97( 下文中提到的 ASTM 均为 ASTM E1394-97) ,是在 1997 年确定的版本。因为迈瑞 ASTM 接口只用到部分的数据,所以只有部分的 ASTM 中规定的消息类型,记录类型和其他数据在此接口中使用。
 
 
协议中的发送与接收流程
ASTM 协议链路的操作模式为一种单工模式,即在一个时间点上数据的传输始终只能在一个方向,就是说在仪器发送数据的时候,计算机系统只能是等待来接收数据,而计算机系统应答数据的时候,仪器也只能是等待接收应答。5758 ASTM 协议规定当发送者需要发送数据时,首先发送 <ENQ>控制命令字符给意向接收者,接收者如果有资源进行数据接收将应答 <ACK>给发送者,否则就应答 <NAK> ,发送者成功收到 <ACK>控制命令字符后将进行数据帧的发送,当数据帧发送完成后,发送 <EOT>控制命令字符告知接收者,发送过程宣告结束。发送和接收流程如下图:
 

其中 <ENQ>
在Java中实现串口(Serial Communication)连接并支持ASTM(American Society for Testing and Materials)协议,通常涉及以下步骤: 1. **导入必要的库**:首先需要导入`javax.comm`或`java.comm`库,这是Java标准库的一部分,用于处理串口通信。在较新的JDK版本中,推荐使用`jav.comm`。 ```java import javax.comm.*; ``` 2. **打开串口**:创建`SerialPort`对象,指定要使用的串口号,并设置波特率、数据位、停止位和校验位等属性。 ```java SerialPort port = new SerialPort("COM1"); port.setParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); ``` 3. **连接串口**:调用`openPort()`方法尝试打开串口,如果成功则返回`true`。 4. **读取和写入数据**:使用`available()`检查是否有数据可读,然后通过`readBytes()`读取字节,对于写入,则使用`writeBytes()`方法。 5. **解析ASTM数据**:ASTM协议的数据格式需要根据其具体规定来解析。可能涉及到帧头识别、命令解读、参数提取等操作,这通常是自定义的业务逻辑部分。 ```java byte[] receivedData = new byte[1024]; while (port.available() > 0) { int bytesRead = port.readBytes(receivedData); // 解析receivedData,按照ASTM协议规则 } ``` 6. **发送ASTM命令**:同样需要构建包含帧头、命令及参数的字节数组,然后通过`writeBytes()`发送出去。 7. **关闭串口**:在完成所有操作后记得关闭串口,调用`closePort()`方法。 ```java port.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zouzh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值