⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 串口驱动.txt

📁 java 的代码
💻 TXT
字号:
原来一直以为只有赵学庆一个高手,代码贴出来吓我一跳,原来CSDN有这么多扎实人,天天来CSDN值得啊... 
[code=Java] 
    //初始化串口驱动 
        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; 
        } 
[/code]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -