新闻中心

EEPW首页 > 嵌入式系统 > 牛人业话 > 伽利略开发板和BeeMail(四):程序库的妙用

伽利略开发板和BeeMail(四):程序库的妙用

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


      图注:带WiFi标签的Arduino窗口

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

  WiFi全面测试草图

  这个完全独立的草图脚本被用于测试WiFi功能。有关板卡的所有信息以及本地连接都会显示出来,同时测试能否调用Arduino网站的纯文本页面。如果页面不存在,那么下一步便测试能否连接到google.com并返回有关“Arduino”的搜索结果。

  SD Card

  排除SD卡故障其实不是我检验WiFi之后完成的。我只检验排除了Python部分,准确地说,检查是否获取到所需数据。重要的是过程本身。然而排查Python对代码部分于事无补。所以我将注意力放在了SD卡上。

  将SD下载到MacOS

  不幸的是MacOS板自主研制的Arduino IDE有一个漏洞,即使显示已安装,其中一些IDE还是无法调用。我不太清楚什么引起的Yocto / gcc snafu,但是看起来读过Yocto上的这篇文章和linux.com中介绍的英特尔板,会有助于我排除故障。与此同时需要不断修改,打开终端,引导至Java文件夹,加入符号链接。

  1. cd /Applications/ArduiG.app/Contents/Resources/Java

  2. ln -s . hardware/tools/x86/i586-poky-linux-uclibc/usr/include/c++/4.2.1

  解决嵌入式程序库故障后,在Arduino Intel Galileo IDE v1.5.3里SD程序库并未像所声明的那样高亮显示关键字。

  Screen capture of the unhighlighted txt

  The SD card library does not highlight.

  图注:非高亮显示文档的截图

  SD卡程序库未高亮显示

  先不管那些。重点程序库能够编译,代码能正确运行就可以了。

  将SD卡功能拆成小块,然后再逐一解决出现的问题。

  符号链接工作区的情况更糟糕。SD卡程序库示例文件并未在示例文件夹里出现。但在Arduino网站的SD卡参考模块却能够找到。

  像我之前借助于备忘录一样,我尝试用示例文件逐一解决如下问题:

  • SD卡是否初始化?

  •Arduino草图能否创建文件?

  •Arduino草图能否将目录添加到文件?

  •Arduino草图能否读文件?

  •Arduino草图能否删除文件?

  板卡初始化代码测试通过,但是在第二步里出现了问题:SparkFun辅助教程代码拒绝系统访问。这个问题不在Intel Galileo SD程序库,而是在底层C打开外部文件命令中。由此导致任何试图通过Arduino命令创建文件的办法都行不通。于是我尝试向一个原本不存在的文件中写入数据,却导致Arduino进程崩溃,没办法只能重启。如果按照那样操作,“**B0100000063f694”的代码就会出现。测试时我通过对Linux控制台添加加密狗,以及手动创建文件建立一系列连接,这样直接跳过了文件创建出现的问题。在下一篇文章里我会详细说明。这一步让我明白了测试文件也可以在计算机上创建并加入Intel Galileo SD卡的主目录。

  Intel Galileo SD卡的主目录


       图注:带以创建示例文件的Intel Galileo SD卡的主目录

  与创建文件相反,另一个需要具有示例代码那样的功能。

  SD程序库全局测试草图

  为创建文件我确定了一个工作区,以便我并入草图,这样其他技术人员也可以拿来用于测试。

  一定记住,SD程序库和系统命令都要求用Arduino能执行的C字符串编写(或者次之,Arduino文件自带的s字符串),而非像Java那样灵活的面向对象的字符串()。下边冗长的代码显示了如何实现其二者之间的译码并提示错误信息。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭