在网上找了一堆的方法 基本都是C++或者VB 的DLL调用之类的
    其实还有另一种2005的SerialPort方法 
下载源代码
   ---------------------------控制台程序----------------------

using System;
using System.Collections.Generic;
using System.Text;
using System.IO.Ports;

namespace EAD.POS
{
    class SerialPortOutput
    {
        /// <summary>
        /// 总计
        /// </summary>
        /// <param name="value">The value.</param>
        public static void Sum(string value)
        {
            Clear();
            //收款();
            //找零();
            newData(value);
            总计();
        }
        /// <summary>
        /// 单价
        /// </summary>
        /// <param name="value">The value.</param>
        public static void UnitPrice(string value)
        {
            Clear();
            newData(value);
            单价();
        }
        /// <summary>
        /// 收款
        /// </summary>
        /// <param name="value">The value.</param>
        public static void Get(string value)
        {
            Clear();
            newData(value);
            收款();
        }
        /// <summary>
        /// 找零
        /// </summary>
        /// <param name="value">The value.</param>
        public static void change(string value)
        {
            Clear();
            newData(value);
            找零();
        }
        /// <summary>
        ///全暗.是找零 全价 收款 这几个灯
        /// </summary>
        public static void AllBlack()
        {
            SerialPort serialPort1 = new SerialPort();
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 2400;
            serialPort1.Open();
            serialPort1.WriteLine(@"s0");
            serialPort1.Close();
        }
        /// <summary>
        /// 清屏.
        /// </summary>
        public static void Clear()
        {
            SerialPort serialPort1 = new SerialPort();
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 2400;
            serialPort1.Open();
            serialPort1.WriteLine("\f");
            serialPort1.Close();
        }
        private static void 单价()
        {
            SerialPort serialPort1 = new SerialPort();
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 2400;
            serialPort1.Open();
            serialPort1.WriteLine("s1");//其实有数据的那个空格
            serialPort1.Close();
        }
        private static void 总计()
        {
            SerialPort serialPort1 = new SerialPort();
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 2400;
            serialPort1.Open();
            serialPort1.WriteLine(@"s2");
            serialPort1.Close();
        }
        private static void 收款()
        {
            SerialPort serialPort1 = new SerialPort();
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 2400;
            serialPort1.Open();
            serialPort1.WriteLine(@"s3");
            serialPort1.Close();
        }
        private static void 找零()
        {
            SerialPort serialPort1 = new SerialPort();
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 2400;
            serialPort1.Open();
            serialPort1.WriteLine(@"s4");
            serialPort1.Close();
        }
        private static void newData(string data)
        {
            SerialPort serialPort1 = new SerialPort();
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 2400;
            serialPort1.Open();
            serialPort1.WriteLine(@"QA" + data);
            serialPort1.Close();
        }

}
}
    ---------------------------控制台程序----------------------

using System;
using System.Collections.Generic;
using System.Text;
using EAD.POS;
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            for (; ; )
            {
                SerialPortOutput.Clear();
                System.Threading.Thread.Sleep(2000);
                SerialPortOutput.change("21230.34");
                System.Threading.Thread.Sleep(2000);
                SerialPortOutput.Get("230.34");
                System.Threading.Thread.Sleep(2000);
                SerialPortOutput.Sum("99230.34");
                System.Threading.Thread.Sleep(2000);
                SerialPortOutput.UnitPrice("30.34");
                System.Threading.Thread.Sleep(2000);
            }

}
    }
}

顺便问一下这样的STATIC方法怎么个重构法

转载于:https://www.cnblogs.com/gakaki/archive/2007/12/10/989872.html

POS 客显 设备 显示 总价 单价 找零 收款 C# SerialPort 法相关推荐

  1. electron+node+node-serialport nodeJs向串口发送数据,自定义收银客显设备

    文章目录 一.前言 二.了解客显设备 三.开始操作 index.html main.js 一.前言 electron+node+node-serialport 实现串口通信+electron-buil ...

  2. 找不到设备.将计算机连接,win10系统宽带连接显示不可使用找不到设备的修复方法...

    有关win10系统宽带连接显示不可使用找不到设备的操作方法想必大家有所耳闻.但是能够对win10系统宽带连接显示不可使用找不到设备进行实际操作的人却不多.其实解决win10系统宽带连接显示不可使用找不 ...

  3. 为什么有网络微信却显示未连接服务器,设备公众号显示未连接,为什么公众号设备显示未连接?...

    设备公众号显示未连接,为什么公众号设备显示未连接?这是什么原因呢?下面跟着小编一起来看一看微信公众号暂时无法提供服务的解决方法吧! 设备公众号显示未连接,使用微信公众平台的朋友都遇到过,给微信公众号发 ...

  4. 台式机ubuntu,使用intel核显作显示输出,nvidia独显做cuda运算

    问题来源: 将显示线插到独显上安装完ubuntu之后装完nvidia显卡驱动,使用nvidia-smi命令会发现Xorg和compiz两个服务占用了一部分显存,随着ubuntu不关机使用越来越久,甚至 ...

  5. 文档服务器无可用设备,云服务器GPU设备显示异常

    云服务器GPU设备显示异常 内容精选 换一换 云服务器列表页面,云服务器的状态显示为"异常".进入云服务器列表页面,鼠标移动至"异常"状态处,查看具体的异常原因 ...

  6. 博客园自动显示随笔标签

    title: 博客园自动显示随笔标签 date: 2018-01-03 20:52:22 tags: 浏览器脚本 categories: 前端 在添加随笔页自动显示已有标签,不用点击插入已有标签 效果 ...

  7. LED显示驱动(五):视频设备显示驱动调试步骤总结

    一.显示驱动修改基本步骤 1)查看当前display设备显示状态命令:cat sys/class/disp/disp/attr/sys (显示驱动路径) 2)编译打包内核:./build.sh  ./ ...

  8. 笔记1 第11课 贪心初步 ——柠檬水找零,分发饼干,跳跃游戏,完成所有任务所需最小能量——极客时间算法

    之前收藏了极客时间的算法训练营3期 共21课,计划每一课写博客来记录学习,主要形式为 方法类型1 题1 题解 题2 题解 方法类型2 题1 题解 -- 题目大体来自leetcode 和 acwing ...

  9. Python数据结构20:动态规划:找零兑换问题的动态规划解法并显示使用的硬币组合

    在我们使用递归算法时,可能会出现规模庞大的重复计算,用一个中间表记录每个计算过的最优解法,就可以避免大量的重复计算.中间结果记录可以很好解决找零兑换问题.实际上,这种方法还不能称为动态规划,而是叫做& ...

最新文章

  1. Apple的LZF算法解析
  2. 中文的csv文件python读取编码问题
  3. mysql中find_in_set()函数的使用
  4. 后台开发经典书籍--Linux多线程服务端编程:使用muduo C++网络库
  5. 关于标准库中的ptr_fun/binary_function/bind1st/bind2nd
  6. 为什么要使用git pull --rebase?
  7. Kubernetes 小白学习笔记(20)--kubernetes的运维-管理Node
  8. 为什么说苏宁必买万达百货
  9. openpyxl插入分页符
  10. 工程机械租赁行业大有可为,如何不让售后服务拖后腿?
  11. android 设置iptv vlan tag的命令,IPTV+VLAN设置教程
  12. 74HC138芯片简析
  13. PVE booting from Hard Disk
  14. my visitor
  15. Latex中用Bibtex来引用文献
  16. POE——POE供电详解
  17. 小马哥-----高仿米4拆机 刷机主板多图展示 主板为x77 型号k6 6582芯片 14年底版本
  18. 安超OS面世:华云数据的雄心与耐心
  19. 2021年美容师(初级)考试题及美容师(初级)最新解析
  20. ubuntu 如何在终端下切换到指定的文件夹或盘根目录

热门文章

  1. 推荐两个Firefox插件
  2. 打造完美的JS树形菜单
  3. (自兴人工智能)python字符串
  4. ubuntu自动登录tty1(shell,text)配置
  5. c++设计模式之简单工厂模式
  6. 几句话描述简单算法——排序与搜索
  7. Intger To Roman
  8. 使用cocoapods时,import 找不到头文件。
  9. 深度解析Objective-C笔试题
  10. linux清理内存命令