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. Ubuntu下Apache虚拟主机+反向代理

    反向代理 就是通过一台代理服务器,让Internet用户可以访问到内部网络上的服务器 下图中192.168.0.4 可以理解带有2个网卡,一个是公网ip,一个是192.168.0.4 代理内外中的2个 ...

  2. [OpenCV] Samples 17: Floodfill

    一种聚类方式,代码解析 #!/usr/bin/env python ''' Floodfill sample. Usage: floodfill.py [<image>] Click on ...

  3. scrapy爬取某网站,模拟登陆过程中遇到的那些坑

    本节内容 在访问网站的时候,我们经常遇到有些页面必须用户登录才能访问.这个时候我们之前写的傻傻的爬虫就被ban在门外了.所以本节,我们给爬虫配置cookie,使得爬虫能保持用户已登录的状态,达到获得那 ...

  4. linux erase

    map的erase windows和linux不同,而迭代器弄不好就失效 1 #include <iostream> 2 #include <map> 3 #include & ...

  5. 阿里云服务器 通过JavaMail发送邮箱STMP问题 25端口被禁用 使用SSL协议465端口

    1 问题描述 我们传统使用的比较简单的是 STMP 25端口收发邮件 今天发现刚购买的阿里云服务器不能作为客户端通过STMP 25端口发送邮件 开始在网上有说发现是JDK1.8的原因,然后自己也把JD ...

  6. LIBXML2库使用指南2

    3. 简单xml操作例子 http://blog.sina.com.cn/s/blog_4673bfa50100b0xj.html 了解以上基本知识之后,就可以进行一些简单的xml操作了.当然,还没有 ...

  7. Chronic sleep loss cannot be cured that easily

    Chronic sleep loss cannot be cured that easily Sleeping in on Saturday after a few weeks of too litt ...

  8. Ubuntu设置DNS永久生效

    环境查看 设置临时生效,修改配置文件/etc/resolv.conf nameserver 202.96.134.133 重启失效 设置永久生效,修改网卡配置文件/etc/network/interf ...

  9. Glufster挂载失败Mount failed. Please check the log file for more details解决办法

    设置两台glusterfs服务器主机名分别为gfs1,gfs2 设置好glusterfs挂载不成功提示如下 Mount failed. Please check the log file for mo ...

  10. cuteftp9破解及安装、使用

    一.破解: 参考:https://jingyan.baidu.com/article/ca00d56c4e43b2e99febcf70.html 1. 首先下载cuteftp替换文件及cuteftp9 ...