SerialPort sp1 = new SerialPort();
getBloodPressur(); public void getBloodPressur()
{
try
{
string[] str = SerialPort.GetPortNames();
if (str == null)
{
MessageBox.Show("仪器未连接,请确认连接是否正常!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
sp1.DataReceived += new SerialDataReceivedEventHandler(sp1_DataReceived);
//准备就绪
sp1.DtrEnable = true;
sp1.RtsEnable = true;
//设置数据读取超时为1秒
sp1.ReadTimeout = ; foreach (string s in System.IO.Ports.SerialPort.GetPortNames())//获取有多少个COM口
{
sp1.PortName = s;
}
sp1.BaudRate = System.Convert.ToInt32(""); //波特率
sp1.DataBits = System.Convert.ToInt32(""); //数据位
sp1.StopBits = StopBits.One;//停止位
sp1.Parity = Parity.Even;//校验位
sp1.Close();
if (sp1.IsOpen == true)//如果打开状态,则先关闭一下
{
sp1.Close();
}
sp1.Open();
}
catch (Exception ex)
{
throw ex;
}
} void sp1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (sp1.IsOpen)
{ byte[] byteRead = new byte[sp1.BytesToRead]; //BytesToRead:sp1接收的字符个数 try
{
Byte[] receivedData = new Byte[sp1.BytesToRead]; //创建接收字节数组
sp1.Read(receivedData, , receivedData.Length); //读取数据 sp1.DiscardInBuffer(); //清空SerialPort控件的Buffer string strRcv = null;
for (int i = ; i < receivedData.Length; i++)
{
strRcv += ((char)System.Convert.ToInt32(receivedData[i]));
}
Thread.Sleep(); if (strRcv.Split(' ').Length > )
{
strBloodPressur = strRcv.Substring(strRcv.Length - , ); if (dicBloodPressur.ContainsKey("") && dicBloodPressur.ContainsKey("") && dicBloodPressur.ContainsKey(""))
{ if (dtExamCopy.Select("EXAM_ID = '" + dicBloodPressur[""].Split(',')[] + "' AND EXAM_DETAIL_ID = '" + dicBloodPressur[""].Split(',')[] + "'")[]["RESULT_VALUE"].ToString().Trim().Length == )
{
dtExamCopy.Select("EXAM_ID = '" + dicBloodPressur[""].Split(',')[] + "' AND EXAM_DETAIL_ID = '" + dicBloodPressur[""].Split(',')[] + "'")[]["RESULT_VALUE"] = System.Convert.ToInt32(strBloodPressur.Split(' ')[]).ToString() + "/" + System.Convert.ToInt32(strBloodPressur.Split(' ')[]).ToString();
checkExamItemAbnormal(dtExamCopy.Rows.IndexOf(dtExamCopy.Select("EXAM_ID = '" + dicBloodPressur[""].Split(',')[] + "' AND EXAM_DETAIL_ID = '" + dicBloodPressur[""].Split(',')[] + "'")[]));
}
else
{
dtExamCopy.Select("EXAM_ID = '" + dicBloodPressur[""].Split(',')[] + "' AND EXAM_DETAIL_ID = '" + dicBloodPressur[""].Split(',')[] + "'")[]["RESULT_VALUE"] = System.Convert.ToInt32(strBloodPressur.Split(' ')[]).ToString() + "/" + System.Convert.ToInt32(strBloodPressur.Split(' ')[]).ToString();
checkExamItemAbnormal(dtExamCopy.Rows.IndexOf(dtExamCopy.Select("EXAM_ID = '" + dicBloodPressur[""].Split(',')[] + "' AND EXAM_DETAIL_ID = '" + dicBloodPressur[""].Split(',')[] + "'")[]));
}
dtExamCopy.Select("EXAM_ID = '" + dicBloodPressur[""].Split(',')[] + "' AND EXAM_DETAIL_ID = '" + dicBloodPressur[""].Split(',')[] + "'")[]["RESULT_VALUE"] = System.Convert.ToInt32(strBloodPressur.Split(' ')[]).ToString(); checkExamItemAbnormal(dtExamCopy.Rows.IndexOf(dtExamCopy.Select("EXAM_ID = '" + dicBloodPressur[""].Split(',')[] + "' AND EXAM_DETAIL_ID = '" + dicBloodPressur[""].Split(',')[] + "'")[]));
}
} }
catch (System.Exception ex)
{
MessageBox.Show(ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
else
{
MessageBox.Show("仪器未连接,请确认仪器连接是否正常!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}

最新文章

  1. Xmodem Bootloader
  2. [转]RamDisk导致远程桌面客户端无法启动问题
  3. vector data() [c++11]
  4. JAVA 值传递
  5. xcode 插件管理工具
  6. C#实现插入排序法
  7. OBJC运行时方法替换(Method swizzling)
  8. 集成支付宝后出现LaunchServices: ERROR: There is no registered handler for URL scheme alipay
  9. silverlight中鼠标放在对象的提示事件
  10. 如何使用autotools生成Makefile
  11. POJ2125 Destroying The Graph 二分图 + 最小点权覆盖 + 最小割
  12. AWR报告生成
  13. 温故而知新——map
  14. JavaScript判断变量数据类型
  15. c#动态加载卸载DLL
  16. 辨析element.offsetXxxx和element.style.xxxx
  17. 使用EndNote在Word中插入参考文献
  18. 树莓派学习笔记(6):让Raspbian支持中文、禁用休眠
  19. 解决 nfs挂载错误wrong fs type, bad option, bad superblock
  20. Go Revel - server.go 源码分析

热门文章

  1. selenium 环境配置
  2. android项目上传github
  3. JDK11和JDK8类加载器的区别
  4. js dom一些操作,记录一下自己写的没有意义,可以简略翻过 第八章
  5. 大数据篇:HDFS
  6. HessianSharp如何部署到IIS7上?
  7. Coroutine 终止协程和异常处理
  8. 大神是如何学习 Go 语言之 Channel 实现原理精要
  9. CentOS7.3yum安装MariaDB报错[Errno 256]
  10. 我说我了解集合类,面试官竟然问我为啥HashMap的负载因子不设置成1!?