报告:基于温度采集无线监测系统论文(7)

2019-01-27 15:53

JOptionPane.showMessageDialog(null, \温度警告!!!\ } flag_alarm=false; } } protected void buttonExit_actionPerformed(ActionEvent e) { commStop(); try { fileout.writeInt(sliderAlarm.getValue()); //报警值写入配置 fileout.close();//关闭输出流 } catch (IOException e1) { JOptionPane.showMessageDialog(null, \写入报警值到配置错误\ e1.printStackTrace(); } System.exit(0); //退出 } protected void buttonStart_actionPerformed(ActionEvent e) { if(flag_start!=true) //判断是否已启动监控,flag_start=true为启动监控。 { commStart(); //启动监控 flag_start=true;//设置启动标志为true } else { commStop(); //停止监控 flag_start=false; //设置启动监控为false } } private void commStart() { comboBoxPortID.setEnabled(false); //下拉列表不可用 comboBoxPortID.setForeground(Color.RED); //下拉列表前景色为红色 serialcomm.SerialInit(String.valueOf(comboBoxPortID.getSelectedItem())); //用下拉列表框的端口对串口参数进行初始化 serialPort = serialcomm.getSerialPort(); //得到端口实例

31

try { serialPort.addEventListener(new myListener());//添加端口读监听事件 serialPort.notifyOnDataAvailable(true);//开启串口监听 } catch (TooManyListenersException e) { JOptionPane.showMessageDialog(null, \添加端口监听事件错误\ e.printStackTrace(); } buttonStart.setText(\停止监控\ //改变按钮控件显示 } private class myListener implements SerialPortEventListener { public void serialEvent(SerialPortEvent evt) { if (evt.getEventType() == SerialPortEvent.DATA_AVAILABLE)// 如果串口事件是有数据到达 { try { InputStream input = serialPort.getInputStream(); // 得到端口输入流 setReaddata(input.read()); // 把低位机送来的数据赋值到readdata sliderTemp_stateChanged(null); // 改变温度滑条的值 flag_alarm=true; if(temp_old!=getReaddata()) { temp_old=getReaddata(); sliderAlarm_stateChanged(null); // 调用报警滑条的改变事件,以判断温度是否超出报警值 } //JOptionPane.showMessageDialog(null, getReaddata()); //显示接收到的数据 } catch (IOException e) { JOptionPane.showMessageDialog(null, \输入流错误!\ e.printStackTrace();

32

} }

else if (evt.getEventType() == SerialPortEvent.FE)// 出现帧错误 { JOptionPane.showMessageDialog(null, \出现帧错误\ throw new RuntimeException(\出现帧错误\}

else if (evt.getEventType() == SerialPortEvent.BI)// 出现通信中断 { JOptionPane.showMessageDialog(null, \出现通信中断\ throw new RuntimeException(\出现通信中断\}

} }

private class SliderAlarmMouseListener extends MouseAdapter { public void mouseClicked(MouseEvent e) { sliderAlarm_mouseClicked(e); } public void mouseReleased(MouseEvent e) { sliderAlarm_mouseReleased(e); } }

private class SliderAlarmMouseMotionListener extends MouseMotionAdapter { public void mouseDragged(MouseEvent e) { sliderAlarm_mouseDragged(e); } }

private void commStop() { try { serialcomm.allClosed(); } catch (IOException e) { JOptionPane.showMessageDialog(null, \关闭端口错误\ e.printStackTrace(); }

33

}

}

comboBoxPortID.setEnabled(true); //下拉列表为可用

comboBoxPortID.setForeground(Color.GREEN); //下拉列表前景色为绿色

buttonStart.setText(\启动监控\改变按钮控件显示

public int getReaddata() { return readdata; }

public void setReaddata(int readdata) { this.readdata = readdata; }

protected void sliderAlarm_mouseClicked(MouseEvent e) { }

protected void sliderAlarm_mouseDragged(MouseEvent e) { }

protected void sliderAlarm_mouseReleased(MouseEvent e) { flag_alarm=true; sliderAlarm_stateChanged(null); }

34


报告:基于温度采集无线监测系统论文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于青春的英语演讲稿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: