Java 串口 收发的源码,求高手发到514523596@qq.com,高分答谢!!!
展开全部
private void SendData(byte []m_nInData) throws IOException
{
try
{
//通过输出流实现数据发送
for(int i = 0;i < m_nInData.length;i++)
{
m_OutStream.write(m_nInData[i]);
}
}
catch(IOException e) { throw e; }
}
public void serialEvent(SerialPortEvent event)
{
int nLen = 0;
switch(event.getEventType())
{
//数据到达
case SerialPortEvent.DATA_AVAILABLE:
{
byte[] readBuffer = new byte[20];
try
{
while(m_InStream.available()>0)
{
//通过输入流接收数据
nLen=m_InStream.read(readBuffer);
}
}
catch (IOException e) {}
break;
}
default:break; //其它事件暂时没有处理
}
}
通过上面的程序代码可以看出:串口数据的发送和接收都是基于输出流和输入流进行处理的。以上代码只是简单实现了串口数据的收发操作,串口数据的接收在串口事件里面进行处理。在实际的应用中,需要考虑数据的有效性,即实现数据的保护与交互。在串口通信层使用了专门的一个类(Semaphore)来实现与其它层之间进行数据交互时的数据保护,并利用一个类(DataStruct)来实现数据的交互
{
try
{
//通过输出流实现数据发送
for(int i = 0;i < m_nInData.length;i++)
{
m_OutStream.write(m_nInData[i]);
}
}
catch(IOException e) { throw e; }
}
public void serialEvent(SerialPortEvent event)
{
int nLen = 0;
switch(event.getEventType())
{
//数据到达
case SerialPortEvent.DATA_AVAILABLE:
{
byte[] readBuffer = new byte[20];
try
{
while(m_InStream.available()>0)
{
//通过输入流接收数据
nLen=m_InStream.read(readBuffer);
}
}
catch (IOException e) {}
break;
}
default:break; //其它事件暂时没有处理
}
}
通过上面的程序代码可以看出:串口数据的发送和接收都是基于输出流和输入流进行处理的。以上代码只是简单实现了串口数据的收发操作,串口数据的接收在串口事件里面进行处理。在实际的应用中,需要考虑数据的有效性,即实现数据的保护与交互。在串口通信层使用了专门的一个类(Semaphore)来实现与其它层之间进行数据交互时的数据保护,并利用一个类(DataStruct)来实现数据的交互
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询