Android UART串行通信
最近有个项目需要实现windows机和Android开发版的UART串口通信。经过三天的寻找,我记录下最终的方案,希望同事们少走弯路。最后,我希望你能支持我在git上的最终计划。
安卓3.0.1
格雷迪4.1
ARM开发版:RK3399
PC机:Win10
开发机器:MAC 10.13.3
先拍照
因为android-serialport-api项目中的so是用旧ndk编译的,所以兼容Android 6.0以上版本时会报错DLOPEN失败:“hastext relocations”。并且用mk编译,特别是升级到用cmake编译。
升级android-serialport-api。
项目结构:
App对应原项目中的每个活动,androidserial编译前对应so的模块,以及API的封装。可以直接引用androidserial,调用方法引用app目录下的activity。
注意权限!
访问开发板时,如果发现错误您没有串口读/写权限需要root权限,打开root权限adb,在开发者模式下打开应用。
用一个命令打开Android对串口的读写权限。
Setenforce 0:关闭防火墙。有人说这是关键,但我的环境不需要关,给我权限就行。
注意ttyS1-6 ttyS1-6对应UART串口1-6,一般是一一对应的。这个要看开发板的指示。
记录粗糙,请见谅。有问题请留言,我看到后一定回复。项目主要看结构,剩下的都是复制粘贴。Git地址:/braincs/AndroidSerialLibrary