windows系统proteus中Ardunio Mega 2560和虚拟机上Ubuntu系统CuteCom进行串口通信

在文章利用proteus实现串口助手和arduino Mega 2560的串口通信-CSDN博客

中,实现了windows系统的proteus中Ardunio Mega 2560和SSCOM通过虚拟串口进行通信。虚拟串口的连接示意图如下图所示。

在文章windows系统和虚拟机上ubuntu系统通过虚拟串口进行通信-CSDN博客

中,实现了windows系统的SSCOM和ubuntu系统的CuteCom通过虚拟串口进行通信。虚拟串口的连接示意图如下图所示。

既然Ardunio Mega 2560、CuteCom都可以和SSCOM串口助手通信,那么Ardunio Mega 2560和CuteCom能不能跨过SSCOM这个“中间商”,直接通过虚拟串口相连,实现串口通信呢?连接示意图如下图所示。

要实现的功能介绍:通过虚拟机上ubuntu系统CuteCom和windows系统proteus 中的ardunio Mega 2560单片机进行串口收发信息,通过CuteCom向单片机发送字符“1”,单片机IO14口的LED灯点亮,发送字符“2”,LED灯熄灭。通过单片机IO15口的带上拉电阻的按键,向CuteCom发送信息,当按键按下,发送“button_down”,当按键抬起,发送“button_up”。

下边我们来测试一下。操作步骤如下:

目录

一、配置配置vspd虚拟串口

二、利用ardunio IDE建立ardunio2560程序文件并生成hex文件

三、利用protues搭建ardunio2560串口通信仿真电路

四、在虚拟机的ubuntu系统上安装串口助手

1、在windows系统安装虚拟机

2、在虚拟机上安装Ubuntu

3、在windows系统安装虚拟串口vspd

4、在windows系统配置vspd虚拟串口

5、在虚拟机上添加虚拟串口

6、在ubuntu系统安装配置串口助手

五、利用虚拟机上的ubuntu系统CuteCom测试windows系统proteus仿真电路

1、运行proteus仿真电路

2、Ardunio Mega 2560向CuteCom发送数据

3、CuteCom向Ardunio Mega 2560发送数据

六、结论


一、配置配置vspd虚拟串口

操作步骤见以下链接:

配置vspd虚拟串口

二、利用ardunio IDE建立ardunio2560程序文件并生成hex文件

操作步骤见以下链接:

利用ardunio IDE建立ardunio2560程序文件并生成hex文件

三、利用protues搭建ardunio2560串口通信仿真电路

操作步骤见以下链接

利用protues搭建ardunio2560串口通信仿真电路

四、在虚拟机的ubuntu系统上安装串口助手

1、在windows系统安装虚拟机

操作步骤见以下链接:

在windows系统安装虚拟机

2、在虚拟机上安装Ubuntu

操作步骤见以下链接:

在虚拟机上安装Ubuntu

3、在windows系统安装虚拟串口vspd

操作步骤见以下链接:

在windows系统安装虚拟串口vspd

4、在windows系统配置vspd虚拟串口

操作步骤见以下链接:

在windows系统配置vspd虚拟串口

5、在虚拟机上添加虚拟串口

操作步骤见以下链接:

在虚拟机上添加虚拟串口

6、在ubuntu系统安装配置串口助手

操作步骤见以下链接:

在ubuntu系统安装配置串口助手

五、利用虚拟机上的ubuntu系统CuteCom测试windows系统proteus仿真电路

proteus中COMPIM连接虚拟串口COM1,CuteCom连接虚拟串口COM2,波特率都是9600。

1、运行proteus仿真电路

单击proteus窗口右下角运行图标,进行仿真。

2、Ardunio Mega 2560向CuteCom发送数据

当在proteus点击button切换按键,使按键抬起时,CuteCom数据接收框内显示“button_up”

proteus电路中,button按键处于按下状态,CuteCom数据接收框内显示“button_down”。

3、CuteCom向Ardunio Mega 2560发送数据

在CuteCom输入框内输入“1”,然后回车,可以看到proteus中LED灯点亮。

在CuteCom输入框内输入“2”,然后回车,可以看到proteus中LED灯熄灭。

六、结论

通过上述仿真运行结果,可以看到proteus中LED灯和按键的运行的状态和程序里编写的意图完全一致,说明可以通过虚拟机上ubuntu系统的CuteCom实现和windows系统proteus中的ardunio mega 2560进行串口通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/212616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3DMAX关于显示驱动问题的解决方法大全

3DMAX与显卡驱动有关的问题主要有以下几种情况: 1.3DMAX启动弹出这样的界面: 2.主工具栏按钮不显示,或者鼠标移上去才显示(刷新问题)。 3.视口菜单不显示或显示不全。 问题分析: 首先&#x…

安全基础从0开始

文章目录 常见名词小实战 网站搭建小实战抓包模拟器状态码返回值网站搭建WEB应用安全漏洞 数据包&封包&信息收集**参考点** 常见名词 前后端,POC/EXP,Payload/Shellcode,后门/Webshell,木马/病毒, 反弹&…

ReactNative0.73发布,架构升级与更好的调试体验

这次更新包含了多种提升开发体验的改进,包括: 更流畅的调试体验: 通过 Hermes 引擎调试支持、控制台日志历史记录和实验性调试器,让调试过程更加高效顺畅。稳定的符号链接支持: 简化您的开发工作流程,轻松将文件或目录链接到其他…

react表单-受控

react - 表单组件 受控组件 表单项中的值(value/checked)受到类组件state中数据来控制,同时还需要绑定一个onChange事件来完成对state中数据的修改 import React, { Component } from react;class AppInput extends Component {// 设置受控组…

基于ssm应急资源管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本应急资源管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

排序算法之七:归并排序(递归)

基本思想 基本思想: 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列&#xff1…

C++:this指针

目录 前言 成员函数返回this指向的对象本身时,为什是返回引用类型? 成员函数返回this对象本身时,内部通常会通过拷贝构造函数来创建一个临时对象? 总结 前言 c通过提供特殊的对象指针,this指针 指向被调用的成员函…

openssl 常用命令 pkcs12

openssl pkcs12 openssl pkcs12 官方文档 1. 描述 The pkcs12 command allows PKCS#12 files (sometimes referred to as PFX files) to be created and parsed. PKCS#12 files are used by several programs including Netscape, MSIE and MS Outlook. pkcs12 命令是用来创…

Nodejs 第二十二章(脚手架)

编写自己的脚手架 那什么是脚手架? 例如:vue-cli Angular CLI Create React App 编写自己的脚手架是指创建一个定制化的工具,用于快速生成项目的基础结构和代码文件,以及提供一些常用的命令和功能。通过编写自己的脚手架,你可以…

Linux和Windows环境下如何使用gitee?

1. Linux 1.1 创建远程仓库 1.2 安装git sudo yum install -y git 1.3 克隆远程仓库到本地 git clone 地址 1.4 将文件添加到git的暂存区(git三板斧之add) git add 文件名 # 将指定文件添加到git的暂存区 git add . # 添加新文件和修改过的…

深入理解HTTP状态码及其在Web开发中的应用

在Web开发中,我们经常需要与服务器进行交互,以获取或发送数据。为了实现这一目标,我们使用HTTP协议。HTTP协议是一种无状态的、应用层的协议,它定义了客户端和服务器之间的通信方式。在HTTP协议中,有五种常用的HTTP状态…

Python高级算法——动态规划

Python中的动态规划:高级算法解析 动态规划是一种解决多阶段决策问题的数学方法,常用于优化问题。它通过将问题分解为子问题,并在解决这些子问题的基础上构建全局最优解。在本文中,我们将深入讲解Python中的动态规划,…

vs2017+qt5.14.2遇到的问题

1、在安装qt插件后,导入pro文件时,报 msvc-version.conf loaded but QMAKE_MSC_VER isn’t set 修改E:\Qt\Qt5.14.2\5.14.2\msvc2017_64\mkspecs\common\msvc-version.conf文件中添加

RabbitMQ学习笔记10 综合实战 实现新商家规定时间内上架商品检查

配置文件: 记住添加这个。 加上这段代码,可以自动创建队列和交换机以及绑定关系。 我们看到了我们创建的死信交换机和普通队列。 我们可以看到我们队列下面绑定的交换机。 我们创建一个controller包进行测试: 启动: 过一段时间会变成死信队列…

elasticsearch|大数据|elasticsearch的api部分实战操作以及用户和密码的管理

一, 前言 本文主要内容是通过elasticsearch的api来进行一些集群的管理和信息查询工作,以及elasticsearch用户的增删改查和密码的重设以及重置如何操作 接上文:elasticsearch|大数据|elasticsearch低版本集群的部署安装和安全增强---密码设…

SSM与SpringBoot面试题总结

什么是spring?谈谈你对IOC和AOP的理解。 Spring:是一个企业级java应用框架,他的作用主要是简化软件的开发以及配置过程,简化项目部署环境。 Spring的优点: 1、Spring低侵入设计,对业务代码的污染非常低。 2、Spring的DI机制将…

FPGA设计时序约束十一、others类约束之Set_Maximum_Time_Borrow

目录 一、序言 二、Set Maximum Time Borrow 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 命令示例 三、参考资料 一、序言 在Vivado的时序约束窗口中,存在一类特殊的约束,划分在others目录下,可用于设置忽略或修改默认的时序路径分析…

IntelliJ IDEA开启git版本控制的简单教程

这篇文章想要分享一下怎么在IntelliJ IDEA开启版本控制,博主使用的是gitee,首先需要安装git,关于git的安装这里就不介绍了,很简单。 目录 创建git仓库 创建项目 开启版本控制 拉取项目 创建git仓库 首先,需要登录…

《Linux中lsof的神奇探秘:打开文件的魔法与更多相似利器》

前言 在Linux的世界里,lsof(List Open Files)是一个强大的工具,它能帮助我们轻松查看系统上打开的文件及网络连接。然而,除了lsof之外,还有一些与它功能相似且同样强大的命令等待着我们去发现。本文将引领…

MATLAB | 官方举办的动图绘制大赛 | 第四周(收官周)赛情回顾

MATHWORKS官方举办的迷你黑客大赛第三期(MATLAB Flipbook Mini Hack)圆满结束,虽然我的水平和很多大佬还有比较大的差距,但所有奖也算是拿满了: 专家评选前三名,以及投票榜前十:~ 每周的阶段性获奖者: 下面…