Android开发串口通信之开发板的串口通信

本文介绍了作者在Android开发中实现串口通信的过程,包括配置android_serial_api,设置波特率和串口号,打开和关闭串口,以及发送和接收数据。在实践中,作者建议使用真机调试,并提供了遇到的问题及解决方法,如修改API中的SerialPort类以适应不同设备的su路径。还分享了一个用于串口通信的MainActivity类的简单实现。
摘要由CSDN通过智能技术生成

本人最近刚开始学习android,学习大概将近一个月。学着学着突然想做个小东西出来。因为android前面的学习主要是UI
界面的学习,就想着做一个通信的串口 来实现app与外部的数据传输。通过界面的控制来实现串口数据的收发和接受。
一 android_serial_api的配置
1 首先是准备工作,需要配置串口的api ,这个东西别人已经都打包好了 ,我们只需要将api里面的文件配置赋值过来就好了
下载链接:android_serial_api
然后按照下图将api中的文件复制到相应位置 注意各个文件的包含关系 不要放错了 在这里插入图片描述
注意:SerialPort类是咱们Android可以调用的类,很重要的一点强调 如果你的设备里面su 的位置不在“system/xbin/su”中的话
请记得在这个类里面修改xbin为bin (应该在这两个其中一个)
在这里插入图片描述
jni目录下放着c源码和h头文件,
jniLibs下面放的就是so库。
因为用的谷歌原生so库,所以SerialPort类的包名一定要是android_serialport_api,如果想修改这个包名,就需要重新生成对应的so库
(其实API文件里面还有个SerialPortFinder.java文件 这个文件是当你不知道设备的具体串口号时 要用到的 我们这里一直开发板的串口设置为ttSAC3 所以用不到)
2、在src 下的build.gradle中添加如下代码:

在这里插入图片描述
sourceSets {
main { jni.srcDirs = [] }
}

在这里插入图片描述
ndk {
abiFilters “armeabi”, “armeabi-v7a”, “x86”, “mips”
}
至此 串口开发环境的配置已经好了
二 .接下来就会Activity类的编写了
首先我们需要知道大概步骤
1.设置波特率 串口号
2 获取串口对象 打开串口
3 发送数据
4 接受数据

我就用了一个mainActivity类来编写这个
1.获取串口对象 以及设置波特率

//获取串口对象
private SerialPort getSerialPort() {
    if (serialPort == null) {
        String path = "/dev/ttySAC3";//先确定你的设备的串口号 一定要找准 不然很容易闪退
        try {
            serialPort = new SerialPort(new File(path), baudrate, 0);//baudrate 在前面已经设置为9600;
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
    return serialPort;
}

这里首先是通过API 里面的SerialPort类来定义了一个串口对象 通过设置固定的串口号和 波特率来获取串口对象
2 连接串口

//连接串口
    public void connect(View view) {
   
        view.setClickable(false);//按下连接按钮后这个按钮不能再继续点击
        diconnect.setClickable(true);//断开按钮可以点击
        serialPort = getSerialPort();
        if (serialPort == null) {
   
            Toast.makeText(MainActivity.this,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值