问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

unity3d怎么与arduino串口通信

发布网友 发布时间:2022-05-03 00:10

我来回答

1个回答

热心网友 时间:2022-06-28 15:48

你所说的多发几次就有反应的状况其实是你运气好,因为loop是一直循环的,所以里面的代码一遍遍一行行往下运行,比如你正好在运行Serial.Read()命令前传送了,那就可以进行判断。
所以,要先判断有没有数据传输过来,再进行判断。
另外,Serial.Read()使用过后,所有已经被接收的数据就会被清空!
举例:就拿你的程序来说,如果说你现在的程序加上了判断有数据的语句,然后你输了个'g'
那么,第一个if判断进行:Serial.Read()此时是g,不等于k。跳过,
但是,此时缓存中的g已经被清除了,也就是说:
第二个if判断进行:Serial.Read()的值是空,不等于g,也跳过。因此会失效
解决办法就是新建一个变量保存结果。
##PS:pinMode(pin,mode); mode是INPUT(数字输入)或OUTPUT(数字、模拟输出)

程序:
void setup()
{
pinMode(13,OUTPUT); //使13口成为输出口
Serial.begin(9600);
}
void loop()
{
while(Serial.available()<=0); //这里是一个死循环,如果还有其他任务,就不能用死循环了。这里使用,意思是,如果没有数据就一直什么都不干,如果有数据,就跳出循环(下面就是判断)
char temp=char(Serial.read()); //保存数据(char(),转换为字符)
if(temp=='k')
{
digitalWrite(13,HIGH);
}else if(temp=='g')
{
digitalWrite(13,LOW);
}
}

##PS:Serial.available()命令用于判断串口是否有数据,有就返回可以读取的字节的数目,没有就是0,通常用if(Serial.available()>0)判断。

官网解释:Get the number of bytes (characters) available for reading from the serial port. This is data that's already arrived and stored in the serial receive buffer (which holds 64 bytes). available() inherits from the Stream utility class.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大学入学应该带哪些必备物品? tim删除聊天记录的方法步骤 pc端彻底删除tim聊天记录 甩脂机调到什么档位 如何用甩脂机 甩脂机的正确使用方法 使用抖脂机要注意什么 怎样申请小号微信号 ...的长和宽分别增加6米,扩建后草坪的面积增加了多少 ...扩建后长和宽分别增加10米,扩建后的操场面积增加了多少平方米?_百 ... 长方形的公园它的面积长和宽分别扩大十米后它的平方增加了面积增加了13... 在windows上编写c++代码实现与arduino串口通信,简单收发即可! arduino 读取串口数值 ~ arduino串口通信经光耦隔离使用继电器控制220v电机 Arduino中的串口通信!!Serial.print()是不是带有打印的功能?? 求arduino与串口屏通信的代码 Arduino串口问题,请教各位 如何使用arduino 串口通讯发送数组 arduino 串口发送和接受的数据不一样 树莓派和Arduino串口通信的问题 arduino串口通信发送十六进制数据是如何发送的 想用arduino同时与2个串口设备通讯,怎么办 arduino串口通信怎么发送类似于struct的数据?该如何写 arduino串口通信和蓝牙能一起吗 怎样简单的Arduino与上位机的串口通信 关于Arduino 关于串口通信 微星 笔记本,打开游戏没有声音,只有画面 微星音响为什么插在电脑上没声音 微星笔记本打开游戏没声音 小米进入fastboot状态之后无法退出也无法开机,并且一直重复黑屏然后进入fastboot状态该怎么办 微星b450没声音 怎么用OTG线跟arduino进行串口通信 arduino_1.0.1的串口监视器应该怎么用? 六公分是多少? 想知道0.6公分是多少厘米? 6公分等于多少毫米 直径6公分等于多少寸? 6公分长,6公分宽,等于多少平方? 6分是几厘米 60公分等于多少厘米等于多少米?6公分又等于多少厘米多少米呢?多少进制的?_百度问一问 6分米是几厘米 六厘米等于多少厘米减七十厘米 夸夸我的家乡的风景写话(农村)课件 我美丽的家乡昆阳作文 《我的家乡》 五年级上册我美丽的家乡一汽作文 作文,我的家乡怎么写,什么样子。最美在那儿,有什么特产和小吃。_百度... 作文我美丽的家乡…颍上 记者采访的区域权限怎么界定?比如这个地区报纸或网站的记者到另一个地区采访,可以吗 县与区的权限区别? 请教excel区域权限的设定。