串口通信中的数组赋值问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5002|回复: 5

[已解决] 串口通信中的数组赋值问题

[复制链接]
发表于 2014-5-10 17:19 | 显示全部楼层 |阅读模式
我现在想用
a=Serial.read();
用一个8位数组 int s 来装a的值,然后将数组前4位给 数组s1,后四位给数组s2,。不清楚如何用数组来装这个值,以及不清楚如何将数组分段赋值?

非常感谢。
发表于 2014-5-10 19:39 | 显示全部楼层
啥叫8位数组?8个元素?
一个int是2个字节,read一次只能一个字节,所以如果你有8个int,就要read16次,然后存入一个数组里。
可以用结构体实现,也可以用指针实现。
 楼主| 发表于 2014-5-11 10:54 | 显示全部楼层
奈何col 发表于 2014-5-10 19:39
啥叫8位数组?8个元素?
一个int是2个字节,read一次只能一个字节,所以如果你有8个int,就要read16次,然 ...


void loop()
{
  String inString = "";
  while(Serial.available()>0)
  {
      char inChar = Serial.read();
      inString += (char)inChar;
      delay(10);
   }
   if(inString!="")
   {
     int sports[8] = inString;

我想表明的意思就是最后一句。。。但是这样写肯定是不行的。。就不知道该怎么办了。

发表于 2014-5-14 23:11 | 显示全部楼层
low4=a&0xF;
high4=a>>4;
 楼主| 发表于 2014-5-27 19:45 | 显示全部楼层
现在我利用字符串可以完整的接受串口发来的指令了,但是系统要求的其实是串口发送的是一bit一bit,而不是一个字符一个字符,所以我接受的Serial.read()又只能一次读一个字符,如何将这一个字符分成8个bit呢?
发表于 2014-5-28 12:55 | 显示全部楼层
Crap_bee 发表于 2014-5-27 19:45
现在我利用字符串可以完整的接受串口发来的指令了,但是系统要求的其实是串口发送的是一bit一bit,而不是一 ...

你想要什么样的结果,可以举个实际的例子,比你用语言描述要好得多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-5 10:06 , Processed in 0.091709 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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