C# pos机客显(利用SerialPort )
来源:互联网 发布:java高级证书试题 编辑:程序博客网 时间:2024/06/05 08:07
/// <summary>
/// 客显 /// </summary> public class CustomerDisplay { #region 成员变量 private string spPortName; private int spBaudRate; private StopBits spStopBits; private int spDataBits; #endregion --成员变量 #region 属性 /// <summary> /// 客显发送类型 /// </summary> public CustomerDispiayType DispiayType { get; set; } #endregion --属性 #region 构造函数 /// <summary> /// 构造函数 /// </summary> /// <param name="_spPortName">端口名称(COM1,COM2,COM3...)</param> /// <param name="_spBaudRate">通信波特率(2400,9600....)</param> /// <param name="_spStopBits">停止位</param> /// <param name="_spDataBits">数据位</param> public CustomerDisplay(string _spPortName, int _spBaudRate, string _spStopBits, int _spDataBits) { this.spBaudRate = _spBaudRate; this.spDataBits = _spDataBits; this.spPortName = _spPortName; this.spStopBits = (StopBits)(Enum.Parse(typeof(StopBits), _spStopBits)); } #endregion --构造函数 #region Method #region 公共方法 /// <summary> /// 数据信息展现 /// </summary> /// <param name="data">发送的数据(清屏可以为null或者空)</param> public void DisplayData(string data) { SerialPort serialPort = new SerialPort(); serialPort.PortName = spPortName; serialPort.BaudRate = spBaudRate; serialPort.StopBits = spStopBits; serialPort.DataBits = spDataBits; serialPort.Open(); //先清屏 serialPort.WriteLine(((char)12).ToString()); //指示灯 string str = ((char)27).ToString() + ((char)115).ToString()+((char)(int)this.DispiayType).ToString();
serialPort.WriteLine(str); //发送数据 if (!string.IsNullOrEmpty(data)) { serialPort.WriteLine(((char)27).ToString() + ((char)81).ToString() + ((char)65).ToString() + data + ((char)13).ToString()); } serialPort.Close(); } #endregion --公共方法 #endregion --Method } /// <summary> /// 客显类型 /// </summary> public enum CustomerDispiayType { /// <summary> /// 清屏 /// </summary> Clear, /// <summary> /// 单价 /// </summary> Price, /// <summary> /// 合计 /// </summary> Total, /// <summary> /// 收款 /// </summary> Recive, /// <summary> /// 找零 /// </summary> Change }
调用案例
class Program { static void Main(string[] args) { while (true) { Console.Write("清屏"); CustomerDisplay disliay = new CustomerDisplay("COM2", 9600, StopBits.One, 8); disliay.DispiayType = CustomerDispiayType.Clear; disliay.DisplayData(null); System.Threading.Thread.Sleep(1000); Console.Write("找零"); disliay.DispiayType = CustomerDispiayType.Change; disliay.DisplayData("230.34"); System.Threading.Thread.Sleep(1000); Console.Write("收款"); disliay.DispiayType = CustomerDispiayType.Recive; disliay.DisplayData("10.34"); System.Threading.Thread.Sleep(1000); Console.Write("总计"); disliay.DispiayType = CustomerDispiayType.Total; disliay.DisplayData("99230.34"); System.Threading.Thread.Sleep(1000); Console.Write("单价"); disliay.DispiayType = CustomerDispiayType.Price; disliay.DisplayData("18.34"); System.Threading.Thread.Sleep(2000); } Console.Read(); }
通常情况下指示灯排列号:
/*
*当 n=0 , 四种字符 全暗。
*当 n=1, “单价”字符 亮,“多谢惠顾”亮,其它三种暗。
*当 n=2, “合计”字符 亮,“多谢惠顾”亮,其它三种暗。
*当 n=3, “收款”字符 亮,“多谢惠顾”亮,其它三种暗。
* 当 n=4, “找零”字符 亮,“多谢惠顾”闪烁,其它三种暗
*/
- C# pos机客显(利用SerialPort )
- C# serialport
- 利用SerialPort类实现收发短信(C# 2.0)
- 利用SerialPort类实现收发短信(C# 2.0)
- c# 中serialport学习(中断接收)
- C#利用pos命令操作网口打印机的方法
- 利用SerialPort接收数据
- C#串口serialPort操作
- C# SerialPort使用方法
- C# SerialPort运行方式
- C# SerialPort 串口通信
- C#串口serialPort操作
- C# SerialPort 串口通信
- C# SerialPort使用方法 .
- C# SerialPort运行方式
- C# SerialPort 类
- C#串口serialPort操作
- C# SerialPort运行方式
- spring mvc 的 resources 注解用来处理静态文件
- SQlite数据库的C编程接口(六) 返回值和错误码(Result Codes and Error Codes) ——《Using SQlite》读书笔记
- clearcase、Git之我见
- SEO字典之内链、外链、反链
- Listener执行流程
- C# pos机客显(利用SerialPort )
- 线程中向主对话框发送消息
- 大数阶乘算法
- Android基础知识
- .Net制作新版本安装包安装时系统提示“已经安装了该产品的另一个版本”
- 控件字体、颜色
- ORACLE游标处理大全
- 详解 Android 的 Activity 组件
- 一日三省