新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > 伽利略開發板和BeeMail結尾篇(六):從C字符串到int型

        伽利略開發板和BeeMail結尾篇(六):從C字符串到int型

        作者:EEPW編譯 時間:2014-12-09 來源:電子產品世界 收藏

          在這一部分我只闡述對getEmailCount() function部分做了哪些修改,使之最終能讀取文件。慶幸的是現在已經可以在SD卡上操作了。

        本文引用地址:http://www.104case.com/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移植到板!



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阜平县| 包头市| 佛冈县| 贡嘎县| 顺义区| 普格县| 兴化市| 秦安县| 钟山县| 宜兰市| 塔河县| 曲阜市| 阜新| 隆尧县| 吉安市| 泸水县| 东乡| 车险| 元朗区| 秦安县| 靖边县| 子长县| 喜德县| 长沙县| 临安市| 外汇| 永宁县| 南澳县| 庆云县| 通州区| 广安市| 鹰潭市| 建昌县| 江津市| 武义县| 天全县| 布尔津县| 天峻县| 绍兴县| 文登市| 韩城市|