串口通讯

来源:互联网 发布:软件自动升级方案设计 编辑:程序博客网 时间:2024/05/16 14:40

模拟一个串口通讯:
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");            }        }    }
1 0
原创粉丝点击