如何在android里面搭建JNI实现SerialPort编程,我就不详细介绍了,因为网上资料一堆。
串口开发需要Root权限。
我这文章主要是解答在使用SerialPort通讯时出现的问题。
存放SerialPort对象的包名必须和JNI中SerialPort.c调用它的类所在的包名一致。一旦存放SerialPort对象的包名与链接库中函数的命名不相符,就不能调用链接库的函数 你们一定会问?为什么我在网上下载的demo里面没有这么多文件,但是也可以通讯呢?因为这是为兼容android高版本下能够正常调用串口去通讯,如果需要附件请留言 这个错误是最容易产生的。因为很多网上demo都是bin来的。但是实际有些android路径是xbin来的。建议最好去看下system下的路径是什么还有一个关于生产厂家串口的名字与实际串口名字不一致的问题:
如果遇到实际串口名字与厂家标示的串口名字不一致的话,不要着急!!你只需打开dos然后输入图片命令就可以查看厂家标识的串口对应的实际串口名了。
查看设备串口输入之后就会弹出如下图
厂家标识的串口名->实际串口名另外个人建议:向串口发送命令时,最好放到子线程里面去发送。接受串口返回结果时,只需开一个子线程循环接受即可。
当确定不需要再调用串口时,切记一定要调用SerialPort中的close方法去关闭。
网友评论