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. Mysql系列三:Centos6下安装Mysql和Mysql主从复制的搭建

    一.Centos6下安装Mysql 检测下系统有没有自带的mysql:yum list installed | grep mysql, 如果已经有的话执行命令yum -y remove mysql-l ...

  2. plsql 常用函数-转

    PLSQL常用函数 1)处理字符的函数 || 或 CONCAT---并置运算符. 格式∶CONCAT(STRING1, STRING2) 例:’ABC’|| ’DE’=’ABCDE’ CONCAT(‘ ...

  3. react给一个div行内加背景图片并实现cover覆盖模式居中显示

    具体background简写可以参考这篇文章. 这里注意,如果简写里要写background-size,则这里必须写 /  ,否则整个背景图片样式没有解析出来. 它和font以及border-radi ...

  4. [Artoolkit] ARToolKit's SDK Structure on Android

    Most applications on Android are developed in Java, and Android provides a rich framework of classes ...

  5. autodesk fbx sdk sample里面的工程无法调试解决方法

    1.项目属性->常规中的目标文件名改为1 2.链接器->调试中的生成程序数据库文件改成:$(OutDir)1.pdb 3.连接器->常规中的输出文件改成:$(OutDir)1.exe ...

  6. 理解PEP333-WSGI

    声明:这篇文章只是为了整体理解WSGI,会忽略很多细节,要详细了解请参看文后的参考资料 WSGI概述 WSGI全称是Python Web Server Gateway Interface(Python ...

  7. 宝塔使用FTP的问题

    我们在使用宝塔FTP面板的时候,会用到FTP工具,但是开的账号在使用 FTP或WinSCP的时候会出现问题,连接不上. 具体解决方式: 参考文档: https://blog.csdn.net/hc11 ...

  8. G - 看病要排队

    看病要排队这个是地球人都知道的常识. 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的.0068所去的医院有三个医生(汗,这么少)同时看病.而看病的人病情有轻重,所以不能根据简单的先来先服 ...

  9. sg函数的理解

    sg,是用来判断博弈问题的输赢的,当sg值为0的时候,就是输,不为0就是赢: 在这之前,我们规定一个对于集合的操作mex,表示最小的不属于该集合的非负整数. 举几个栗子:mex{0,1,2}=3,me ...

  10. Thymeleaf 学习笔记-实例demo(中文教程)

    项目demo     http://pan.baidu.com/s/1wg6PC 学习资料网址  http://www.blogjava.net/bjwulin/archive/2013/02/07/ ...