某蒟蒻无聊竟用UNO做了个复读机?
不管是手滑还是被标题骗进来的(后者概率应该不大),解释一下这篇文其实只是俺学习软件模拟串口的一个小应用(用的在线仿真网站,tinkercad),本来是想做两机交互的,结果以为每次只能开一个监视器,就把其中一个UNO变成复读机了,直接贴图和代码
接线如下
上面的UNO介绍
功能 接收从USB硬件串口传来的数据,并通过软件模拟串口传到下面的UNO里,同时时刻留意下面UNO是否传来数据,并及时接收
代码
/*Name: uart.inoCreated: 2022/2/8 10:38:48Author: DESKTOP-EUF0FAK\robinbird */ // Define User Types below here or use a .h file #include "SoftwareSerial.h" String a_str = ""; String hard_str = ""; SoftwareSerial up_s(5, 2); // Define Functions below here or use other .ino or cpp files // void read_str() {while (up_s.available() > 0){a_str += (char)(up_s.read());delay(3);}Serial.println(a_str);a_str = ""; } void read_hd_str() {while(Serial.available() > 0){hard_str += (char)(Serial.read());delay(3);//延时是为了等待输入的字符进入缓冲区}up_s.println(hard_str);hard_str = ""; } // The setup() function runs once each time the micro-controller starts void setup() {Serial.begin(9600);up_s.begin(2400); } // Add the main program code into the continuous loop() function void loop() {if(up_s.available() > 0)read_str();if(Serial.available() > 0)read_hd_str(); }
下面的UNO介绍
功能 接收从上面UNO传来的数据,并直接原数据传回,同时13号引脚控制小LED灯闪烁
代码
/*Name: uart_down.inoCreated: 2022/2/8 11:16:35Author: DESKTOP-EUF0FAK\robinbird */ // Define User Types below here or use a .h file // #include "SoftwareSerial.h" String a_str = ""; SoftwareSerial do_s(3, 4); // The setup() function runs once each time the micro-controller starts void setup() {do_s.begin(2400);pinMode(LED_BUILTIN, OUTPUT); } void read_str() {while (do_s.available() > 0){a_str += (char)(do_s.read());delay(3);}do_s.println("I am a reteller, I retell:");do_s.println(a_str);a_str = "";digitalWrite(LED_BUILTIN, HIGH);delay(500);digitalWrite(LED_BUILTIN, LOW);} // Add the main program code into the continuous loop() function void loop() {if(do_s.available() > 0)read_str(); }
大概是代码注意事项
个人通过仿真实践感觉两UNO的通讯的波特率和 UNO与主机通讯的波特率不相同(甚至差得远一些)更好,以免出现乱码
软串口和硬串口的函数大体相似,大概为了实现功能,都有如下模块
//检查是否读到缓冲区末尾 while(abb.available() > 0) {char c = abb.read();str += (char)c;//这里可以来点强转,保证能加上delay(3);//给数据一点充分进入缓冲区的时间 }
软串口的初始化方法注意一下
其他:把接线看对,有的板子不是都能PCINT中断,以及注意读谁的数据后,要给谁输出
运行结果
某蒟蒻无聊竟用UNO做了个复读机?相关推荐
- NOIP 2015 蒟蒻做题记录
昨天做了noip 2015 的题.因为之前做过几道,最开始做的很快,也都A了.可是子串斗地主运输计划什么的这些没做过的题还是把我恶心的不行QAQ我这个大蒟蒻还是没有A掉..所以说先写一下应该得到的暴力 ...
- 蒟蒻のpython(做个飞船大战小游戏)
蒟蒻今天觉得:人生苦短,我用python.这句话真的是很贴切了/cy 学了基础直接pygame开发游戏!!! 不多说,开撸! 果然是外行看热闹,内行看笑话.. 顺便更新进程,监督自己的学习. 希望不会 ...
- 蒟蒻的C盘怎么又变红了?(C盘空间快满了怎么清理,AppData,winsxs,Local,Roaming等文件夹如何清理,哪些文件可以删除,哪些属于垃圾)
关注作者:JuruoAssociation 原创于 CSDN 原创不易,谢绝转载!不曾授权任何转载!建立在抄袭上的流量不会持久.你选择的光,将驱散你身边的黑暗,也将给我们伟大祖国版权事业的未来添一把炬 ...
- 蒟蒻成长之路(持续更新)
蒟蒻成长之路 (这个玩意只是闲着写写, 写给自己看的) 开始 开始日期:2023年3月23日20:55:24 内容 主要记录一些做题日常和快乐的学校生活 初一:2022~2023 Day1--2023 ...
- CCF NOI WC 2019 游记 by.一个云南蒟蒻
序 我是一个来自云南的蒟蒻. 大约是2018年八月份,我开始正式学习OI.在此之前,我约莫一直听说这世上有这么一种神奇的东西,兴许也曾路过,却从未走进这扇门来(大概是百度过,兴许是被铺天盖地的广告劝退 ...
- 蒟蒻浅谈树链剖分之一——两个dfs操作
树链剖分,顾名思义就是将树形的结构剖分成链,我们以此便于在链上操作 首先我们需要明白在树链剖分中的一些概念 重儿子:某节点所有儿子中子树最多的儿子 重链:有重儿子构成的链 dfs序:按重儿子优先遍历时 ...
- python字符串去头尾_悉尼大学某蒟蒻的Python学习笔记
About me 本蒟蒻是悉尼大学计算机科学大一的学生,这篇博客记录了学习INFO1110这门课的一些心得,希望能对大家有帮助. To start with 因为计算机只能识别机器语言,所以我们需要编 ...
- 蒟蒻的HNOI2017滚粗记
蒟蒻的第一次省选,然而并没有RP爆发... Day 1: 8:00开考,(然而密码错误是什么鬼).跌跌撞撞,8:40终于拿到纸质试题. { T1:作为一名没有学过Splay的蒟蒻,考场上真的被出题人感 ...
- 10月19日 蒟蒻的流水账
10:03:48 刚刚写了一道DP题 改了好久,因为天真的以为一开始的0结点可以把所有不连通的树串起来的,没想到不行!! 要自己搞一个超级源点. (提交了超级多次,一直没过,严重拉低了AC率) ...
- 蒟蒻的五周总结(解释引用)《挑战》
一:尺取法: 解释摘自:(12条消息) 尺取法 - 详解 + 例题模板(全)_lxt_Lucia的博客-CSDN博客_尺取法 引用:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组 ...
最新文章
- 构建具有用户身份认证的 React + Flux 应用程序
- 10版微机监测怎么显示服务器,铁路信号网络版微机监测系统的研究
- 使用vant时 tab栏中出现 van-tabs怎么省略号怎么解决
- android 中TextView设置部分文字背景色和文字颜色
- Scala集合常用方法:fold折叠
- JavaScript基本概念(下)
- matlab二元方程组,用matlab解一个二元方程组,会的进,得到解再回答
- 二进制安装mariadb 10.2.16
- BZOJ 2843 极地旅行社
- “=” “:=” 区别
- 《UnityAPI.Camera摄像机》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+allCameras+cullingMask+OnPreCull+立钻哥哥++OK+)
- 软件需求包括3个不同的层次 业务需求 用户需求和功能需求
- 人民币对美元汇率中间价报6.7774元 下调109个基点
- 圆满收官!OFweek 2019(第三届)物联网产业大会成功举办
- mac idea 触控板 缩放 字体大小
- XGen中使用python进行简单的操作
- phpsocket客户端以及服务器例子
- 彻底解决Microsoft store闪退问题
- icomoon 下载及使用
- 报错:Property or method “item“ is not defined on the instance but referenced during render.