java,php,asp.net,linux,javascript,mysql,mssql,oracle,编程

初始化串口驱动

转载请注明:http://www.pmjava.com/Article/ShowInfo.asp?ID=56608
private   boolean   initCommDriver_win32()   {      
        try   {
        System.loadLibrary( "win32com ");    
        String   driverName   =   "com.sun.comm.Win32Driver ";      
        CommDriver   driver   =   (CommDriver)   Class.forName(driverName).newInstance();      
        driver.initialize();        
        return   true;      
                }catch   (Throwable   e)   {  
                MessageDialog.openInformation(null,   "initDriver ",   "initDriver_Err_Win32Com ");
                e.printStackTrace();  
                return   false;      
                }
        }
        //打开串口
        private   boolean   OpenComm(String   PortName)
        {
  //获取指定的COM端口      
        try   {
portIdentifier   =   CommPortIdentifier.getPortIdentifier(PortName);
}   catch   (NoSuchPortException   e)   {
e.printStackTrace();
return   false;
}
//打开端口(3秒打不开则失败)
try   {
serialPort   =   (SerialPort)portIdentifier.open(this.getTitle(),3000);
}   catch   (PortInUseException   e)   {
MessageDialog.openInformation(null,   "OpenComm ", "Open_Err ");
e.printStackTrace();
return   false;
}
                //设置端口通讯参数   (波特率   =   9600,数据位   =   8,停止位   =   1   ,校验位   =奇校验)
                try   {
                        serialPort.setSerialPortParams(9600,
                                SerialPort.DATABITS_8,
                                SerialPort.STOPBITS_1,
                                SerialPort.PARITY_ODD);
                }   catch   (UnsupportedCommOperationException   e)  
                {
                MessageDialog.openInformation(null,   "OpenComm ", "Set_Port ");
                e.printStackTrace();
                return   false;
                }
//设置输入流
                try   {
                        inputStream   =   serialPort.getInputStream();
                }   catch   (IOException   e)   {
                MessageDialog.openInformation(null,   "OpenComm ", "Set_InputStream ");
                e.printStackTrace();
                return   false;
                }
                //设置输出流
                try   {
outputStream   =   serialPort.getOutputStream();
}   catch   (IOException   e)   {
                MessageDialog.openInformation(null,   "OpenComm ", "Set_OutputStream ");
                e.printStackTrace();
                return   false;
}
                //当串口有数据时通知      
                serialPort.notifyOnDataAvailable(true);        
                //当串口通讯中断时通知        
                serialPort.notifyOnBreakInterrupt(true);  
                //接收数据超时设置
                try   {
serialPort.enableReceiveTimeout(30);
}   catch   (UnsupportedCommOperationException   e)   {
e.printStackTrace();
return   false;
}
//设置一个串口数据暂存区
strBuffer=new   StringBuffer();
                //给当前串口添加一个监听器   DisposeSerialportMessage
try   {
serialPort.addEventListener(
new   SerialPortEventListener()
{        
                public   void   serialEvent(SerialPortEvent   e)
                {  
                disposeSerialportMessage(e);
                }
        }
);
}   catch   (TooManyListenersException   e)   {
e.printStackTrace();
return   false;
}

        return   true;
        }

posted on 2009-06-10 21:41 rrong_m 阅读(543) 评论(0)  编辑  收藏

<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

随笔档案

文章分类

文章档案

java编程

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜