Android串口开发之使用JNI实现ANDROID和串口通信详解-创新互联

一:串口通信简介

创新互联于2013年开始,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元渭南做网站,已为上家服务,为渭南各地企业和个人服务,联系电话:18982081108

前段时间因为工作需要研究了一下android的串口通信,网上有很多讲串口通信的文章,我在做的时候也参考了很多文章,现在就将我学习过程中的一些心得分享给大家,由于串口开发涉及到jni,所以开发环境需要支持ndk开发,如果未配置ndk配置的朋友,或者对jni不熟悉的朋友,请查看上一篇文章,android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序 ,串口通信和java操作io类似,先打开串口,然后向串口发送或者读取数据,最后关闭串口,所以基本思路就是:

  1.对串口文件进行配置(波特率等),选择串口文件,打开串口,设备不同 ,可以读写的串口也不同.

  2.读写串口 ,读串口需要开一个子线程,然后死循环读取串口发送的数据

  3.关闭串口文件

其中打开,关闭串口是在jni方法执行,读写操作是android程序执行。

二:代码实现


我的开发环境是android studio 2.3.3 串口开发我创建一个支持c++项目,然后在cpp目录下,创建一个nateve-lib.cpp的程序,将串口打开,串口关闭的程序复制进去即可,native-lib程序中方法的命名规则需要根据你实际情况,稍作修改,cpp中方法名格式为,Java_包名_调用jni方法的类名_方法名,如Java_com_serialportdemo_SerialPort_open,此处一定要注意,android studio生成的是cpp程序,不是c程序,这两个有一些区别的,比如:

我对c也不熟悉,以下语法有误请指出

*.c的语法


变量定义


jstring jstr2 = (*env) -> NewStringUTF(env, cstr);

分享名称:Android串口开发之使用JNI实现ANDROID和串口通信详解-创新互联
网站地址:http://azwzsj.com/article/cdeeop.html