<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 牛人業(yè)話 > 伽利略開(kāi)發(fā)板和BeeMail結(jié)尾篇(六):從C字符串到int型

          伽利略開(kāi)發(fā)板和BeeMail結(jié)尾篇(六):從C字符串到int型

          作者:EEPW編譯 時(shí)間:2014-12-09 來(lái)源:電子產(chǎn)品世界 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/266554.htm

            Strings到Ints

            盡管含有數(shù)字的文件可以下載到SD卡,但sparkfun提供的Intel Galileo tutorial部分代碼還是報(bào)錯(cuò)。為此我第二次檢查前做了許多修改,可以說(shuō)我還是不明白怎么修改。我得承認(rèn)自己并不擅長(zhǎng)調(diào)試。若非時(shí)間有限,我一定從頭好好調(diào)試。

            整型變量中本應(yīng)包含收件箱中的郵件數(shù)量,但運(yùn)行代碼時(shí)卻出現(xiàn)了不應(yīng)有的空白值。整型數(shù)值來(lái)自于SD卡中文本文件的ASCII字符(以數(shù)組形式導(dǎo)入)。有時(shí)為完成從string到int的轉(zhuǎn)變,需要對(duì)字符或數(shù)組進(jìn)行處理。

            若上述方法不奏效可以試試下列方法,我將涉及串口傳輸?shù)倪x了出來(lái)。串口傳輸時(shí),協(xié)議需要數(shù)據(jù)的傳輸格式定義得很清楚,以便數(shù)據(jù)在計(jì)算機(jī)之間正確傳遞。在此我覺(jué)得研究基于一塊,進(jìn)行兩個(gè)程序之間進(jìn)行數(shù)據(jù)交換也是個(gè)不錯(cuò)的選題。

            ’s Serial.print 文件

            NYU ITP’s 有關(guān)物理計(jì)算機(jī)串口Out Lab的介紹

            RoboReal Serial Tutorial

            明確地說(shuō),Jim Lindblom的方法極為明智:他通過(guò)對(duì)讀取文本文件(見(jiàn)第118行)時(shí)得到的0(48)做ASCII減法,實(shí)現(xiàn)了從ASCII數(shù)字到int的轉(zhuǎn)換。他用for循環(huán)語(yǔ)句單步調(diào)試存放int值的數(shù)組,用恰當(dāng)?shù)臄?shù)字10和每個(gè)值相乘,得到的總和便與正確的郵件數(shù)目(見(jiàn)第125,126行)相等。這種方法不需要任何外部參考指導(dǎo)就能達(dá)到目的,反映了社區(qū)的友好性。

            此時(shí)我也有些不耐煩了,所以選擇了并不友好但更簡(jiǎn)潔的方式,將文本數(shù)字導(dǎo)入字符數(shù)組并以Null結(jié)束,然后用c function atoi()替代了for循環(huán)。記住,C文件中string通常指以null結(jié)束的字符數(shù)組,而非Arduino String對(duì)象的一個(gè)模擬變量。

            慶祝時(shí)刻

            終于沒(méi)問(wèn)題了!成功將shield從Uno移植到板!



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();