新闻中心

EEPW首页 > 嵌入式系统 > 牛人业话 > 伽利略开发板和BeeMail结尾篇(六):从C字符串到int型

伽利略开发板和BeeMail结尾篇(六):从C字符串到int型

作者:EEPW编译时间:2014-12-09来源:电子产品世界收藏

  在这一部分我只阐述对getEmailCount() function部分做了哪些修改,使之最终能读取文件。庆幸的是现在已经可以在SD卡上操作了。

本文引用地址:http://www.eepw.com.cn/article/266554.htm

  Strings到Ints

  尽管含有数字的文件可以下载到SD卡,但sparkfun提供的Intel Galileo tutorial部分代码还是报错。为此我第二次检查前做了许多修改,可以说我还是不明白怎么修改。我得承认自己并不擅长调试。若非时间有限,我一定从头好好调试。

  整型变量中本应包含收件箱中的邮件数量,但运行代码时却出现了不应有的空白值。整型数值来自于SD卡中文本文件的ASCII字符(以数组形式导入)。有时为完成从string到int的转变,需要对字符或数组进行处理。

  若上述方法不奏效可以试试下列方法,我将涉及串口传输的选了出来。串口传输时,协议需要数据的传输格式定义得很清楚,以便数据在计算机之间正确传递。在此我觉得研究基于一块,进行两个程序之间进行数据交换也是个不错的选题。

  ’s Serial.print 文件

  NYU ITP’s 有关物理计算机串口Out Lab的介绍

  RoboReal Serial Tutorial

  明确地说,Jim Lindblom的方法极为明智:他通过对读取文本文件(见第118行)时得到的0(48)做ASCII减法,实现了从ASCII数字到int的转换。他用for循环语句单步调试存放int值的数组,用恰当的数字10和每个值相乘,得到的总和便与正确的邮件数目(见第125,126行)相等。这种方法不需要任何外部参考指导就能达到目的,反映了社区的友好性。

  此时我也有些不耐烦了,所以选择了并不友好但更简洁的方式,将文本数字导入字符数组并以Null结束,然后用c function atoi()替代了for循环。记住,C文件中string通常指以null结束的字符数组,而非Arduino String对象的一个模拟变量。

  庆祝时刻

  终于没问题了!成功将shield从Uno移植到板!



评论


相关推荐

技术专区

关闭