《Android 串口驱动回眸:andriod虚拟机与串口调试精灵通讯》

2024-04-23 06:32

本文主要是介绍《Android 串口驱动回眸:andriod虚拟机与串口调试精灵通讯》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、开发背景

        新项目是关于一个关于android设备与单片机进行Rs485通讯的项目。

        现状:硬件设备又还没有到,这种情况下,想了解这项技术的话就需要在PC端弄一个串口调试模拟器,然后使用android sdk 里面的AVD进行模拟的数据交互。

二、名词科普(个人理解)

        android开发板:是一个android设备,类似平板,但是会有更多的外置的接口。

        终端设备:通过外置接口(UART/USB等)连接的设备,比如说日常见到的ic读卡器、指纹识别设备、人脸识别设备;

        串口:android开发板的一种接口,如UART是通过串口通讯的。也就是说,一台android平板设备,可以通过外置接口,可以连多个终端设备。

三、需要准备的工具

        (1)android开发板,使用android sdk的AVD模拟器代替;

        (2)终端设备,使用"串口调试精灵"代替,当然你也可以使用其他的设备替代,如ComTools。其实效果都一样的,模拟终端设备;

        (3)vspdConfig.exe这个软件叫做虚拟串口驱动,个人的理解是通过这个把两个串口连起来,我们项目里面是android虚拟机和“串口调试精灵”连起来,同时监听一些数据发送情况;

        (4)android studio软件开发工具。这个就不用说了,大家都知道。

四、开发过程

        (1)android需要一个用来调试的工具,我使用的是android_serialport_api,这个demo很重要,因为后面自己开发进行串口通讯都是需要用到这个demo,基于这个demo来做。网上都有很多,电脑没有翻墙的话,可以使用这个,亲测可用:http://download.csdn.net/download/true_maitian/10107047

        (2)把项目跑起来,先手动开启一个AVD模拟器,确保能够模拟器可以使用。

 a、cmd--> 路径切换至 sdk/tools路径下面--> emulator.exe @你的虚拟机设备名称 -qemu -serial COM2,这段cmd指令怎么理解呢?就是通过emulator工具启动一个虚拟机,然后是它以串口名为COM2启动。启动之时,他会跳出一个对话框,你按默认在确定即可。当然此处你需要记住设置的参数,因为虚拟串口调试精灵上需要用到。

串口COM2

波特率:9600

数据位:8

停止位:1

b、启动虚拟机后,把android_serialport_api项目运行至虚拟机;

        (3)启动vspd串口驱动,你会发现COM2是在线的;

        (4)再启动串口调试精灵.exe,如上图可看出。我们使用AVD启动的虚拟机是COM2,通过驱动可看出如果我们需要进行数据通许,需要把串口精灵的串口号改成COM3。这样就可以正常通讯了。

上面就是效果图了。是不是没想象中那么难,希望对新接触该业务的小伙伴有所帮助。

五、总结

        (1)对于新的未接触过的领域可以先科普一下各种名词,如终端、串口、波特率啊;

        (2)找官方的demo,尝试看懂代码,了解通讯机制;

        (3)寻找相关的模拟工具,直观的看结果;

        (4)多做记录,多交流、多总结。(打完收工)

这篇关于《Android 串口驱动回眸:andriod虚拟机与串口调试精灵通讯》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/928031

相关文章

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期