using System;
using System.IO.Ports; namespace Common
{
public class LedHelper
{
private static int _baudRate = ;
private static string _portName = "COM2";
/// <summary>
/// 串型端口对象
/// </summary>
private static SerialPort _serialPort;
/// <summary>
/// 波特率
/// </summary>
public static int BaudRate
{
get { return _baudRate; }
set { _baudRate = value; }
}
/// <summary>
/// 端口
/// </summary>
public static string PortName
{
get { return _portName; }
set { _portName = value; }
}
/// <summary>
/// 清空屏幕
/// </summary>
public static void ScreenClean()
{
Open(); Clear(); Close();
}
/// <summary>
/// 显示单价
/// </summary>
/// <param name="price"></param>
public static void ShowUnitPrice(string price)
{
Open();
UnitPrice(price);
Close();
}
/// <summary>
/// 显示应收
/// </summary>
/// <param name="money"></param>
public static void ShowSum(string money)
{
Open();
Sum(money);
Close();
}
/// <summary>
/// 显示实际收钱
/// </summary>
/// <param name="money"></param>
public static void ShowRealMoney(string money)
{
Open(); CollectMoney(money);
Close();
}
/// <summary>
/// 找零
/// </summary>
/// <param name="money"></param>
public static void ShowOddChange(string money)
{
Open();
OddChange(money);
Close();
}
/// <summary>
/// 全暗
/// </summary>
public static void ShowNone(string money)
{
Open();
GetBlack(money);
Close();
} /// <summary>
/// GetSum 总价
/// </summary>
/// <param name="value">The value.</param>
private static void Sum(string value)
{
//clear();
NewData(value);
GetSum();
}
/// <summary>
/// GetUnitPrice 单价
/// </summary>
/// <param name="value">The value.</param>
private static void UnitPrice(string value)
{
//clear();
NewData(value); GetUnitPrice();
}
/// <summary>
/// GetCollectMoney 实收
/// </summary>
/// <param name="value">The value.</param>
private static void CollectMoney(string value)
{
//clear();
NewData(value);
GetCollectMoney();
}
/// <summary>
/// GetOddChange 找零
/// </summary>
/// <param name="value">The value.</param>
private static void OddChange(string value)
{
//clear();
NewData(value);
GetOddChange();
}
/// <summary>
/// 全黑
/// </summary>
/// <param name="value"></param>
private static void GetBlack(string value)
{
//clear();
NewData(value);
AllBlack();
} /// <summary>
///全暗.是找零 全价 GetCollectMoney 这几个灯
/// </summary>
private static void AllBlack()
{
// serialPort1.WriteLine(@"s0");
_serialPort.Write(@"s0");
}
/// <summary>
/// 清屏.
/// </summary>
private static void Clear()
{
//serialPort1.WriteLine("\f");
_serialPort.Write(((char)()).ToString());
}
private static void GetUnitPrice()
{
//serialPort1.WriteLine(@"s1");//其实有数据的那个空格
_serialPort.Write(@"s1");//其实有数据的那个空格
}
private static void GetSum()
{
_serialPort.WriteLine(@"s2");
}
private static void GetCollectMoney()
{
_serialPort.WriteLine(@"s3");
}
private static void GetOddChange()
{
_serialPort.WriteLine(@"s4");
}
private static void NewData(string data)
{
//serialPort1.WriteLine(@"QA" + data);
_serialPort.Write(@"QA" + data + ((char)()).ToString());
}
/// <summary>
/// 打开串口,可能抛出异常
/// </summary>
private static void Open()
{
try
{
if (_serialPort == null)
{
_serialPort = new SerialPort();
_serialPort.PortName = _portName;
_serialPort.BaudRate = _baudRate;
}
if (!_serialPort.IsOpen)
{
_serialPort.Open();
}
}
catch (Exception ex)
{
throw new Exception("打开串口失败!错误信息为:" + ex.Message);
} }
/// <summary>
/// 关闭串口
/// </summary>
private static void Close()
{
if (_serialPort != null && _serialPort.IsOpen)
_serialPort.Close();
}
}
}

LED客显的类的更多相关文章

  1. C# 收银机顾显(客显)及打印小票(58热敏打印机)

    最近做winform收银机,设计顾显及打印小票总结. 1.顾显(串口COM1) 只涉及到总计,所以只是简单的功能. public static ClientDisplayResult Display( ...

  2. python学习1-博客-DB操作类

    #学习python,准备写一个博客,第一天:在别人代码基础上写一个数据库操作的db.py1)python代码 #!/usr/bin/env python # -*- coding: UTF-8 -*- ...

  3. 简单的访客IP获取类-IPHelper.cs

    public class IPHelper { public static string GetVisitorsIPAddress() { string result = String.Empty; ...

  4. C++_进阶之函数模板_类模板

     C++_进阶之函数模板_类模板 第一部分 前言 c++提供了函数模板(function template.)所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体制定,用一个虚拟的类型来 ...

  5. [.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类

    [.net 面向对象程序设计进阶] (11) 序列化(Serialization)(三) 通过接口 IXmlSerializable 实现XML序列化 及 通用XML类 本节导读:本节主要介绍通过序列 ...

  6. 从零开始,搭建博客系统MVC5+EF6搭建框架(4)下,前后台布局实现、发布博客以及展示。

    一.博客系统进度回顾 目前已经完成了,前台展示,以及后台发布的功能,最近都在做这个,其实我在国庆的时候就可以弄完的,但是每天自己弄,突然最后国庆2天,连电脑都不想碰,所以就一直拖着,上一篇写了前端实现 ...

  7. javascript类继承的一些实验

    其实一开始编js没怎么用过对象,一般都用func,func,func···但是用多了,感觉代码一点都不美观,还要这里包一个函数,那里包一个函数,或者一直都是函数调用,不好看,而且一些重用的都要重写的话 ...

  8. 博客代码:iframe—网页中嵌入其他网页

    iframe 是一个可以把另外一个网页嵌入到一个网页里的代码,非常有用.对于一个内容不错的网页,要方便地把它搬到自己的博客里,用这个代码最合适.而对于在新浪博客里不支持的一些网页效果和代码,可先把他们 ...

  9. IniParse解析类

    说明 iniParse这个类是一个解析ini文件的类,他的功能和Windows下GetPrivateProfileString的功能一样,可以很方便的保存读取配置. 当然他不是只有GetPrivate ...

随机推荐

  1. js调用winform程序(带参数)

    我们会发现,我们点击迅雷下载的时候  网页可以调用应用程序,而且连接会传入迅雷,这个是怎么做到的呢? 原理: 先注册表中添加软件的具体信息,然后通过 href 可以直接调用 1.写入注册表信息,注册, ...

  2. java 汉诺塔实现自动演示

    1.增加计时功能,显示用户完成移动盘子所花费的时间 2.用户可以设置最大和最小盘子的大小 3.用户可以选择播放和暂停背景音乐 4.用户可以设置盘子的数目 5.用户可以设置盘子的颜色以及背景的颜色 6. ...

  3. [Tensorflow] Object Detection API - retrain mobileNet

    前言 一.专注话题 重点话题 Retrain mobileNet (transfer learning). Train your own Object Detector. 这部分讲理论,下一篇讲实践. ...

  4. [React] 13 - Redux: react-redux

    Ref: Redux 入门教程(三):React-Redux 的用法 组件拆分规范 使用 React-Redux,需要掌握额外的 API,并且要遵守它的组件拆分规范. React-Redux 将所有组 ...

  5. SpringBoot(十四)-- 整合Swagger2

    1.pom依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-s ...

  6. 九、K3 WISE 开发插件《工业单据老单序时薄插件工具栏按钮开发实例》

    =============================== 目录: 1.添加工具栏按钮 2.查询被添加工具栏按钮的业务单据的FMenuID和FID 3.添加工具栏按钮和业务单据的映射关系 4.工具 ...

  7. 三剑客之awk

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  8. discuz 忘记安全密码的处理方式 修改pre_common_setting表的数据,

    一定要记住不要清空pre_common_setting表的数据,会给你带来烦恼的!!!!!只修改siteuniqueid 这条数据的密码就行!!!! 也可以先用我这条密码系统自动加密后:[DXRGYC ...

  9. 逻辑卷管理LVM(logical volume manager)

    LVM的全名是logical volume manager,中文翻译逻辑卷管理器.之所以称为卷是因为可以将文件系统像卷一样伸长和缩短,LVM的做法是将几个物理的分区(或磁盘)通过软件组合成为一块独立的 ...

  10. AIX文件系统和存储部署(转)

    文件系统和存储部署 文件系统的管理是AIX存储结构中的最后一环.定义完lv后,可采用如下两种方式使用lv: a.作为裸设备(raw)使用,一般是数据库型的应用 b.在lv上定义文件系统,并提供文件和数 ...