串口通讯

模拟一个串口通讯:
1)读取串口中的数据
2)可以根据您自己的产品协议,向串口中发送数据
实例Demo
可参考另外的一个串口通讯的Demo:JNI集成串口通讯的Demo

根据您的协议更改一下Demo中的串口名称和波特率:

 /**
     * 串口名称
     */
    private String PATH = "/dev/ttyS4";
    /**
     * 波特率
     */
    private int BAUDRATE = 9600;

开一个子线程不断读取川口中的数据,有数据就处理自己的逻辑:

 private class ReadThreadBox extends Thread {
        @Override
        public void run() {
            super.run();
            while (boxFlag) {
                int size;
                try {
                    byte[] buffer = new byte[64];
                    if (mInputStreamBox == null) return;
                    /* read会一直等待数据,如果要判断是否接受完成,只有设置结束标识,或作其他特殊的处理 */
                    size = mInputStreamBox.read(buffer);
                    if (size > 0) {
                        Log.e(TAG, "run: buffer:"+buffer.toString()+"   ");
                        sportInterface.onLockerDataReceived(buffer, size,path);
                     String mHTStr=mHexsToString(buffer,buffer.length);
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                    return;
                }
                //Log.i("SerialPort","read end");
            }
        }
    }

你可能感兴趣的:(串口通讯)