《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

相关文章

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

C#使用MQTTnet实现服务端与客户端的通讯的示例

《C#使用MQTTnet实现服务端与客户端的通讯的示例》本文主要介绍了C#使用MQTTnet实现服务端与客户端的通讯的示例,包括协议特性、连接管理、QoS机制和安全策略,具有一定的参考价值,感兴趣的可... 目录一、MQTT 协议简介二、MQTT 协议核心特性三、MQTTNET 库的核心功能四、服务端(BR

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

Python MCPInspector调试思路详解

《PythonMCPInspector调试思路详解》:本文主要介绍PythonMCPInspector调试思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录python-MCPInspector调试1-核心知识点2-思路整理1-核心思路2-核心代码3-参考网址

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1