新手小白,Serial.read(); 问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13246|回复: 9

[未解决] 新手小白,Serial.read(); 问题

[复制链接]
发表于 2018-11-10 20:42 | 显示全部楼层 |阅读模式
Serial.read(); 读出来的数据是什么类型? char只能提取一个字节,有什么办法都能提取呢。
发表于 2018-11-10 21:07 | 显示全部楼层
读出的就是一个字节
 楼主| 发表于 2018-11-10 21:24 | 显示全部楼层
本帖最后由 6485397wang 于 2018-11-10 21:25 编辑

11111111111
 楼主| 发表于 2018-11-10 21:25 | 显示全部楼层
coloz 发表于 2018-11-10 21:07
读出的就是一个字节


char  receiveVal;// 这个receiveVal 不单单是数字也有可能是字母
if(Serial.available() > 0)
  {        
      receiveVal =  Serial.read();
if( receiveVal == '10')   //这样不对,怎么样才是对的?

        digitalWrite(LedPin2, HIGH);
发表于 2018-11-10 21:36 | 显示全部楼层
6485397wang 发表于 2018-11-10 21:25
char  receiveVal;// 这个receiveVal 不单单是数字也有可能是字母
if(Serial.available() > 0)
  {      ...

'10'是两个字节,一个字符就是一个字节
 楼主| 发表于 2018-11-10 21:38 | 显示全部楼层
coloz 发表于 2018-11-10 21:36
'10'是两个字节,一个字符就是一个字节

大哥那你说怎么解决可好···,我明白他是2个字节,但是我不知道用什么····。初学者
发表于 2020-8-30 15:56 | 显示全部楼层
https://blog.csdn.net/wangsiqi91/article/details/80966761?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-6-80966761.nonecase&utm_term=arduino%E5%9C%A8%E4%B8%B2%E5%8F%A3%E8%AF%BB%E5%8F%96%E6%95%B0%E7%BB%84       //你可以试试
发表于 2020-8-30 20:46 | 显示全部楼层
用ascii啊,如果读到的是0a那么直接==10,而不是写成'10'
发表于 2020-8-31 14:11 | 显示全部楼层
用个循环直到串口缓冲区没有字符可读,可以用char也可以用string储存
发表于 2020-9-28 21:31 | 显示全部楼层
定义String  XX =  Serial.readstring()
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-30 01:33 , Processed in 0.076289 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表