文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Android】串口通信的理论与使用教程

2023-10-20 11:03

关注

Android系统诞生这十几年以来,Android开发工程师岗位经历了由盛转衰的过程,目前纯UI的Android APP已经鲜有公司愿意花费巨资去开发,Android APP开发的业务也仅剩游戏、物联网(Internet of Things,简称IoT)等方向。在物联网的世界中,串口通信是常见的有线通信方式,本篇文章围绕Android与串口通信,来重新认识一下串口通信。

目录

串口通信简介

串口通信(Serial Communications),即串口按位(bit)发送和接收字节的通信方式。

串口是显控设备与信号处理板之间通信的主要接口,也是显控设备与其他设备、设备与设备之间的协议数据帧通信传输的重要接口。

串口通信分类

根据通信方式划分,可以将串口通信划分为串行通信并行通信

串行通信

串行通信:通信双方按位进行,遵守时序的一种通信方式。
在这里插入图片描述

串行通信可以根据数据同步方式数据传输方式电气标准及协议再次细分为不同的种类。

根据数据同步方式划分

根据数据传输方式划分

根据电气标准及协议划分

串口按电气标准及协议来划分,包括EIA-RS-232CEIA-422EIA-485等。

查看更多详情:EIA-RS-232C

查看更多详情:EIA-422

查看更多详情:EIA-485

并行通信

并行通信:是指以字节(byte)或字节(byte)的倍数为传输单位,同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错,因此并行通信不适合远距离数据传输。例如:打印机端口、IDE端口等。
在这里插入图片描述

图表总结串口通信

在这里插入图片描述

串口通信的使用

作为一个Android开发者,与串口相关的很多东西我们都不需要去了解,我们基本都只需要关注如何去连接上这个串口,或许也只有硬件开发工程师,才需要了解到串口通信的原理等相关知识。

使用前先前往Github clone项目AndroidSerialPort到本地,拷贝lib_serialport模块到项目。

接着配置串口的连接所需参数:

var mSerialPortHelper = SerialPortHelper()// 配置串口号mSerialPortHelper.port = ConfigManage.serialPort// 配置波特率mSerialPortHelper.baudRate = ConfigManage.baudRate.toInt()// 配置数据位mSerialPortHelper.dataBits = ConfigManage.dataBits.toInt()// 配置校验位mSerialPortHelper.parity = SerialPortDataManage.parity[ConfigManage.parity]!!.toInt()// 配置停止位mSerialPortHelper.stopBits = ConfigManage.stopBits.toInt()// 配置流控mSerialPortHelper.flowCon = SerialPortDataManage.flow_bits[ConfigManage.flowBits]!!.toInt()// 监听串口数据的传输mSerialPortHelper.setISerialPortDataListener(object : ISerialPortDataListener {override fun onDataReceived(bytes: ByteArray?) {byteToHex(1, bytes)}override fun onDataSend(bytes: ByteArray?) {byteToHex(0, bytes)}})// 打开串口mSerialPortHelper.open()

最终效果:

参考文档
1、【串口通信】学习笔记
2、通信方式的分类(串行通信和并行通信)

来源地址:https://blog.csdn.net/baidu_41616022/article/details/130478138

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯