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.pswp.cn/news/212616.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212616.shtml
英文地址,請注明出處:http://en.pswp.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)圓滿結束,雖然我的水平和很多大佬還有比較大的差距,但所有獎也算是拿滿了: 專家評選前三名,以及投票榜前十:~ 每周的階段性獲獎者: 下面…