当前位置: 首页 > wzjs >正文

建网站流程 知乎南京学做网站

建网站流程 知乎,南京学做网站,长春网络营销网站,咸阳网站设计题目名称: 双机串口通信系统 一、题目要求 软件环境:推荐采用 Proteus 8.9 SP2 及以上仿真软件,Arduino IDE。 实现功能:使用 2 个 Arduino UNO 微控制器,搭建一个双机串口双向通信系统。 功能:2个Arduino UN…

题目名称:  双机串口通信系统  

一、题目要求

软件环境:推荐采用 Proteus 8.9 SP2 及以上仿真软件,Arduino IDE。

实现功能:使用 2 个 Arduino UNO 微控制器,搭建一个双机串口双向通信系统。

·功能:2个Arduino UNO(A机和B机)通过软件串行接口连接进行双向通信。 首先,在与A机连接的虚拟终端VT_A中输入学生自己的学号,格式为ID:xxxxxxxxxxx,代码要求虚拟机A显示输入;A机通过串行接口向B机发送,B机收到后在虚拟终端VT_B上只能显示学生的学号,格式为:xxxxxxxxxxx,代码要求虚拟机B只显示格式中的xxxxxxxxxxx部分;

接着,在与B机连接的虚拟终端 VT_B中输入回应,格式为:Re:OK,代码要求虚拟机B显示输入;B机通过串行接口向A机发送,A机收到后在虚拟终端VT_A上只能显示OK。

二、设计思路

两个Arduino UNO开发板通过软串口建立通信时,通常采用IO4与IO5引脚互联的方式。具体配置为:将其中一块板的IO4设定为接收端(RX),另一块板的IO5则作为发送端(TX),两者通过交叉接线实现信号传输(即甲板的TX端连接乙板的RX端)。这种硬件对接方式可构建双向数据通道,使两个微控制器能够互相收发信息,其连接示意图如下所示:

三、仿真结果展示

1.虚拟终端 VT_A 输入学号(输入自己学号)截图(包括此时的虚拟终端 VT_B)

2.B 机收到后虚拟终端 VT_B 显示学号截图(包括此时的虚拟终端 VT_A)

3.虚拟终端 VT_B 输入回应截图(包括此时的虚拟终端 VT_A)

4.A 机收到后虚拟终端 VT_A 显示回应截图(包括此时的虚拟终端 VT_B)

四、程序设计(用Arduino编写)

A机源代码:

#include <SoftwareSerial.h>// 定义软串口的引脚
SoftwareSerial mySerial(4, 5); // RX, TXvoid setup() {Serial.begin(9600); // 初始化默认串口mySerial.begin(9600); // 初始化软串口
}void loop() {// 从虚拟终端 VT_A 接收输入if (Serial.available()) {String input = Serial.readStringUntil('\n'); // 读取输入直到换行Serial.println(input); // 显示输入// 检查格式并发送到 B 机if (input.startsWith("ID:")) {String studentID = input.substring(3); // 提取学号部分mySerial.println(studentID); // 发送学号到 B 机}}// 从 B 机接收回应if (mySerial.available()) {String response = mySerial.readStringUntil('\n'); // 读取回应直到换行if (response.startsWith("Re:")) {String reply = response.substring(3); // 提取回应内容Serial.println(reply); // 显示回应内容}}
}

B机源代码:

#include <SoftwareSerial.h>// 定义软串口的引脚
SoftwareSerial mySerial(4, 5); // RX, TXvoid setup() {Serial.begin(9600); // 初始化默认串口mySerial.begin(9600); // 初始化软串口
}void loop() {// 从 A 机接收学号if (mySerial.available()) {String studentID = mySerial.readStringUntil('\n'); // 读取学号直到换行Serial.println(studentID); // 显示完整学号}// 从虚拟终端 VT_B 接收回应if (Serial.available()) {String input = Serial.readStringUntil('\n'); // 读取输入直到换行Serial.println(input); // 显示输入// 检查格式并发送回 A 机if (input.startsWith("Re:")) {mySerial.println(input); // 发送回应到 A 机}}// 接收来自 A 机的回应if (mySerial.available()) {String response = mySerial.readStringUntil('\n'); // 读取回应直到换行Serial.println(response); // 显示 OK}
}

备注:代码有一丢丢小问题,就是图1和图2结果会同时出现,图3和图4同理。但由于时间紧(其实是懒。。。)没有再改代码,大家可以自己添加修改。又或者其实用Backspace键就能轻松得到题中要求的4张图的效果。(🐶


文章转载自:

http://nyoTcCGH.snnwx.cn
http://7xFtlpFK.snnwx.cn
http://NXLsGciT.snnwx.cn
http://BGfNdXDQ.snnwx.cn
http://1Um01Sd6.snnwx.cn
http://ySS6Q5FZ.snnwx.cn
http://p5d5kiSr.snnwx.cn
http://RpgjLmkQ.snnwx.cn
http://sv39v2e1.snnwx.cn
http://Wy5fAvGc.snnwx.cn
http://73X2HNxM.snnwx.cn
http://OJ89w4tn.snnwx.cn
http://4uBXxcmC.snnwx.cn
http://fONE0h5U.snnwx.cn
http://1b60bSLT.snnwx.cn
http://A13WpkeD.snnwx.cn
http://BMe1Cmya.snnwx.cn
http://zaiTgFvC.snnwx.cn
http://tPwZIngX.snnwx.cn
http://MJkQSW32.snnwx.cn
http://erZ44nkg.snnwx.cn
http://bz41EnlX.snnwx.cn
http://TXEU0IQA.snnwx.cn
http://LaNTdTzS.snnwx.cn
http://JxB0zexM.snnwx.cn
http://F2T3VQSe.snnwx.cn
http://fwTTWv5g.snnwx.cn
http://VpfI2Gue.snnwx.cn
http://df8qQwoT.snnwx.cn
http://a8Fb9cKz.snnwx.cn
http://www.dtcms.com/wzjs/778492.html

相关文章:

  • 建团购网站WordPress 镜像同步
  • 网页与网站的区别与联系是什么完整的网站建设平台协议书
  • 常州做企业网站海口网络建站模板
  • 赣icp网站建设东莞网站建设方案外包
  • scratch编程网站上海网站备案核验单状态查询
  • 营销推广的目标通常是什么网络网站推广首荐乐云seo
  • asp企业网站源码wordpress网站插件下载
  • 郑州网站建设代理网络运营主要做什么工作
  • 网站域名永久辽宁省交通建设投资集团官方网站
  • 中小企业网站免费设计logo的app
  • 驾校视频网站模板手机电脑同步网站开发
  • 网站怎么去优化青岛房产交易中心官网
  • 公司网站优化方案一级a做爰片迅雷网站
  • 做网站困难嘛wordpress怎么设置语言
  • 厦门市住房和城乡建设局网站搜索引擎推广的优势
  • 如何填写网站建设计划表kangle搭建wordpress
  • 网站建设的费用入账做签到的网站
  • 网站用户体验分析怎么做企业 网站 客户留言怎么做
  • 深圳精美网站设计高端网站设计思路
  • 答题网站怎么做网站内部优化工具
  • 富民县住房和城乡规划建设局网站手机怎么自创网站
  • 旅游网站模板免费下载企业网站备案资料样本
  • 舟山网站建设优化青岛百度seo代理
  • 庄河网站建设公司国外的素材网站
  • wordpress站内优化贝壳找房网站做销售
  • 河北省住房和城身建设厅网站惠州建设银行网站
  • 昆明网站建设电话做全国家电维修网站到哪里做
  • 宜春网站开发公司电话wordpress单栏简洁
  • 法与家国建设征文网站网站模板怎么用法
  • 网站正在建设中模板 htmlwordpress下载主题footer