android串口so文件.zip

  • K4_899745
    了解作者
  • 45.8KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-25 05:05
    上传日期
被网下下载的so文件坑哭了,网上下载的so文件,奇偶校验就是接收不到串口数据。 重新分享一个匹配的串口文件,提供了SerialPort文件以及arm86-v8a和armeabi-v7a的串口so文件
android串口so文件.zip
  • android串口so文件
  • jniLibs
  • arm64-v8a
  • libserial_port.so
    36.4KB
  • armeabi-v7a
  • libserial_port.so
    69.5KB
  • .DS_Store
    6KB
  • SerialPort.java
    2.6KB
  • .DS_Store
    6KB
内容介绍
package android_serialport_api; import android.util.Log; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class SerialPort { private static final String TAG = "SerialPort"; /* * Do not remove or rename the field mFd: it is used by native method close(); */ private FileDescriptor mFd; private FileInputStream mFileInputStream; private FileOutputStream mFileOutputStream; public SerialPort(File device) throws SecurityException, IOException { this(device,9600,0,8,1); } /** * 打开串口 *@param device 串口设备文件 *@param baudrate 波特率,一般是9600 *@param parity 奇偶校验,0 None, 1 Odd, 2 Even *@param dataBits 数据位,5 - 8 *@param stopBit 停止位,1 或 2 * */ public SerialPort(File device, int baudrate, int parity, int dataBits, int stopBit) throws SecurityException, IOException { /* Check access permission */ if (!device.canRead() || !device.canWrite()) { try { /* Missing read/write permission, trying to chmod the file */ Process su; su = Runtime.getRuntime().exec("/system/xbin/su"); String cmd = "chmod 666 " + device.getAbsolutePath() + "\n" + "exit\n"; su.getOutputStream().write(cmd.getBytes()); if ((su.waitFor() != 0) || !device.canRead() || !device.canWrite()) { throw new SecurityException(); } } catch (Exception e) { e.printStackTrace(); throw new SecurityException(); } } mFd = open(device.getAbsolutePath(), baudrate, parity, dataBits, stopBit); if (mFd == null) { Log.e(TAG, "native open returns null"); throw new IOException(); } mFileInputStream = new FileInputStream(mFd); mFileOutputStream = new FileOutputStream(mFd); } // Getters and setters public InputStream getInputStream() { return mFileInputStream; } public OutputStream getOutputStream() { return mFileOutputStream; } // JNI private native static FileDescriptor open(String path, int baudrate, int parity, int dataBits, int stopBit); public native void close(); static { try { System.loadLibrary("serial_port"); } catch ( Exception ex){ ex.printStackTrace(); } } }
评论
    相关推荐