刚开始学习,向大家请教一串口读取数据的问题,谢谢指教-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4375|回复: 4

刚开始学习,向大家请教一串口读取数据的问题,谢谢指教

[复制链接]
发表于 2013-6-7 20:34 | 显示全部楼层 |阅读模式
我用STC单片机,向arduino板通过串口不停的循环发送:


$1170904,00&
$1120904,01&
$1170904,02&
$1170904,03&
$1120904,04&
$1170904,05&
$1170904,06&
$1120904,07&
$1170904,08&
$1170904,09&
$1170904,10&
$1120904,11&
$1170904,12&
$1170904,13&
$1170904,00&
$1120904,01&
$1170904,02&
$1170904,03&
$1120904,04&
$1170904,05&
$1170904,06&
$1120904,07&
$1170904,08&
$1170904,09&
$1170904,10&
$1120904,11&
$1170904,12&
$1170904,13&

想用arduino板把接收到的数据转换成数组 ,如接收到$1170904,13& 转换为numdtat[13] 的值等于1170904;

char temp;
while(Serial.available()>0)
{
       temp =Serial.read();
     if (temp == '$')
     {
            

       }
     

}



具体怎么转换就搞不清了,哪位大侠给指导一下,谢谢!急!
  

发表于 2013-6-7 22:45 | 显示全部楼层
设置$,&为标志位,然后取出其中的数据,然后使用toInt把转换为整形数据存进数组
发表于 2013-6-7 22:45 | 显示全部楼层
设置$,&为标志位,然后取出其中的数据,然后使用toInt把转换为整形数据存进数组
 楼主| 发表于 2013-6-8 08:22 | 显示全部楼层
奈何col 发表于 2013-6-7 22:45
设置$,&为标志位,然后取出其中的数据,然后使用toInt把转换为整形数据存进数组 ...

您好! 我知道这个意思。就是写的程序试了不行,不能取出数据;


String comdata = "";
char temp ;
while (Serial.available()>0)
{   
     temp = Serial.read();
     if (temp =='$')
      {
        comdata += char (Serial.read());

      }
     if (temp =='&')
    {
           mySerial.println(comdata);
           Serial.flush();
              comdata = "";

     }




}



这样写了之后,串口没有数据输出。
最好您能给写的样例。我学习一下。谢谢!
 楼主| 发表于 2013-6-19 16:15 | 显示全部楼层
怎么没有回复了?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-29 06:48 , Processed in 0.112396 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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