Browse Source

完善串口模块和Demo

王育民 6 years ago
parent
commit
ff1cb9362d

+ 5 - 5
app/src/main/java/cn/minbb/serial/CrashHandler.java

@@ -47,11 +47,11 @@ public class CrashHandler implements Thread.UncaughtExceptionHandler {
         saveInfoToSD(mContext, ex);
         // 提示用户程序即将退出
         showToast(mContext, "很抱歉,程序遭遇异常,即将退出!");
-//        try {
-//            thread.sleep(2000);
-//        } catch (InterruptedException e) {
-//            e.printStackTrace();
-//        }
+        try {
+            thread.sleep(2000);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
         // 完美退出程序方法
         // android.os.Process.killProcess(android.os.Process.myPid());
         // System.exit(1);

+ 3 - 47
app/src/main/java/cn/minbb/serial/activities/MainActivity.java

@@ -92,50 +92,6 @@ public class MainActivity extends AppCompatActivity {
             public void onDataSent(byte[] bytes) {
             }
         });
-//        new SerialPortHelper(new SerialPortHelper.OnDataReceivedListener() {
-//            @Override
-//            public void onDataReceived(String data) {
-//                MainActivity.data = data;
-//                runOnUiThread(new Runnable() {
-//                    @Override
-//                    public void run() {
-//                        byte[] bytes = ByteUtil.addBytes(MainActivity.data.getBytes(), new byte[64]);
-////                        for (int i = bytes.length; i < 64; i++) {
-////                            bytes[i] = 0x0;
-////                        }
-//                        setText(MainActivity.data, MainActivity.data.length());
-//                        if (serialPortManager.sendBytes(bytes)) {
-//                            Toast.makeText(getApplicationContext(), "发送成功 = " + MainActivity.data, Toast.LENGTH_SHORT).show();
-//                        } else {
-//                            Toast.makeText(getApplicationContext(), "发送失败", Toast.LENGTH_SHORT).show();
-//                        }
-//                    }
-//                });
-//            }
-//        }).getStringData(serialPortManager);
-        //////////////////////////////////////////////
-//        serialPortManager.setOnSerialPortDataListener(new OnSerialPortDataListener() {
-//            @Override
-//            public void onDataReceived(final byte[] bytes) {
-//                runOnUiThread(new Runnable() {
-//                    @Override
-//                    public void run() {
-//                        setText(new String(bytes), bytes.length);
-//                    }
-//                });
-//            }
-//
-//            @Override
-//            public void onDataSent(final byte[] bytes) {
-//                runOnUiThread(new Runnable() {
-//                    @Override
-//                    public void run() {
-//                        setText(new String(bytes), bytes.length);
-//                    }
-//                });
-//            }
-//        });
-//        serialPortManager.openSerialPort(new File("/dev/ttyS1"), 115200);
     }
 
     private void setText(String data, int size) {
@@ -174,9 +130,9 @@ public class MainActivity extends AppCompatActivity {
                 closeSerial.setEnabled(false);
                 break;
             case R.id.send:
-                byte[] reportID = {0x0};
-                byte[] data = ByteUtil.addBytes(reportID, editText.getText().toString().getBytes());
-                boolean sendBytes = serialPortManager.sendBytes(data);
+                // byte[] reportID = {0x0};
+                // byte[] data = ByteUtil.addBytes(reportID, editText.getText().toString().getBytes());
+                boolean sendBytes = serialPortManager.sendBytes(editText.getText().toString().getBytes());
                 if (sendBytes) {
                     Toast.makeText(getApplicationContext(), "发送成功", Toast.LENGTH_SHORT).show();
                 } else {

+ 2 - 2
serialport/src/main/java/cn/minbb/serialport/SerialPort.java

@@ -24,7 +24,7 @@ public class SerialPort {
             return false;
         }
         try {
-            // 获取ROOT权限
+            // 获取 ROOT 权限
             Process su = Runtime.getRuntime().exec("/system/bin/su");
             // 修改文件属性为 [可读 可写 可执行]
             String cmd = "chmod 777 " + file.getAbsolutePath() + "\n" + "exit\n";
@@ -33,7 +33,7 @@ public class SerialPort {
                 return true;
             }
         } catch (IOException | InterruptedException e) {
-            // 没有ROOT权限
+            // 没有 ROOT 权限
             e.printStackTrace();
         }
         return false;

+ 1 - 1
serialport/src/main/java/cn/minbb/serialport/SerialPortManager.java

@@ -203,7 +203,7 @@ public class SerialPortManager extends SerialPort {
                 int blockSize = bytes.length;
                 byte[] byteBlock = new byte[blockSize];
                 for (int i = 0; i < blockSize; i++) {
-                    if (bytes[i] == '*') {
+                    if (bytes[i] == '\n') {
                         over = true;
                         break;
                     }