LED背显

前几天在弄一个机子的背显示,要求显示找零
这里写图片描述

Demo是这样的

public class MainActivity extends Activity{

    private SerialPortOperaion serialPortOperaion = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         serialPortOperaion = new SerialPortOperaion(null, new SerialParam(2400, "/dev/ttyS3", 0));
        try {
            mSerialPortOperaion.StartSerial();
        } catch (Exception e) {
        }
        new WriteThread().start();

    }

    private class WriteThread extends Thread {
        public void run(){
            super.run();
            try{
                //12345678
                mSerialPortOperaion.WriteData(0X1B, 0X73, 0X31, 0X1B, 0X51, 0X41, 0X31, 0X32, 0X33, 0X34, 0X35, 0X36, 0X37, 0X38, 0X0D);
                MainActivity.this.sleep(1000);
                //找零
                serialPortOperaion .WriteData(0X1B, 0X73, 0X34);
                MainActivity.this.sleep(1000);
            }catch(Exception e){
            }
        }
    }

     private void sleep(int ms) {
        try {
            java.lang.Thread.sleep(ms);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

文档:
这里写图片描述

这里写图片描述

具体的一些可以参考ASCII表

介于Demo,我看不太懂16进制的一些表达,我就将此改了下我们平时输入的123456

一下这个是我更改后的

public class MainActivity extends Activity{

    private SerialPortOperaion serialPortOperaion = null;
    private EditText editText;
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         serialPortOperaion = new SerialPortOperaion(null, new SerialParam(2400, "/dev/ttyS3", 0));
        try {
            mSerialPortOperaion.StartSerial();
        } catch (Exception e) {
        }

        editText = (EditText) findViewById(R.id.edittext);
        button = (Button) findViewById(R.id.edittext);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                serialPortOperaion .WriteData(0x0C);
                String s = editText.getText().toString();
                //这里的写法要参考文档(十进制的写法)
                mSerialPortOperaion.WriteData(27, 81, 65);
                mSerialPortOperaion.WriteData(input(s));
                mSerialPortOperaion.WriteData(13);
                //这里显示的是找零
                //如果要显示单价,总计,收款这些,可以参考文档替换最后的0X34
                serialPortOperaion .WriteData(0X1B, 0X73, 0X34);
            }
        });
    }

     public int [] TenToSix(String value) {
        String vs = value.trim();
        if (vs.length() < 1) return null;
        int[] v = new int[value.length()];
        for (int i = 0; i < vs.length(); i++) {
            char c = vs.charAt(i);
            int iv = 0;
            switch (c) {
                case '0': iv = 0X30;
                    break;
                case '1':iv = 0X31;
                    break;
                case '2':iv = 0X32;
                    break;
                case '3':iv = 0X33;
                    break;
                case '4':iv = 0X34;
                    break;
                case '5':iv = 0X35;
                    break;
                case '6':iv = 0X36;
                    break;
                case '7':iv = 0X37;
                    break;
                case '8':iv = 0X38;
                    break;
                case '9':iv = 0X39;
                    break;
            }
            v[i] = iv;
        }
        return v;
    }



    //这个根据自己的需要是否保留
    /* private void sleep(int ms) {
        try {
            java.lang.Thread.sleep(ms);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }*/

}

遇到的问题:
参照文档更改Demo运行成功后,我将jar包移到项目,一直都是运行报错的…

解决:
缺失了.so文件

在复制.so文件的时候要先查看你的gradle时候有指定目录识别.so文件,如果有的话要放在对应的目录,否则会识别不了

以下是gradle指定了目录识别.so文件
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值