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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 把EasyPro51編程器的源代碼修改在SDCC上,編譯運行通過

          把EasyPro51編程器的源代碼修改在SDCC上,編譯運行通過

          作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
          因為我有點時間就去開發(fā)51單片機。發(fā)現(xiàn)在Linux(Debian和Ubuntu上)無法編譯51單片機程序,只好在網(wǎng)上下了個Keil.然后就是wine仿真。但是老崩潰。代碼也有問題。然后又改成了在虛擬機里跑。但是還是不爽!知道發(fā)現(xiàn)了SDCC后才知道了什么叫方便。一些Keil中的語法在SDCC中要更正。

          比如說P0.1口的LED.點亮他在Keil中這么寫

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

          sbit LED=P0^1;
          void XXXX(void)
          {
          LED=1;
          LED=0;
          while (1){}
          }

          但是在sdcc中卻通不過。網(wǎng)上查了下,要用這種方法:

          __sbit __at 0x80 LED;
          //或者#define LED P0_1
          void XXXX(void)
          {
          LED=1;
          LED=0;
          while (1){}
          }

          這才是正確的。

          還有在sdcc中的一些細節(jié)寫法,比如說

          unsigned char Data;

          while (!ReadData()==Data){}

          這就是有錯的。因為在 sdcc中,你沒有把Data定義成signed char .所以他會報錯,說這個不是有符號位的。

          在sdcc的寫法是:(ReadData!=Data).

          好的。修改后通過編譯和燒寫的E51PRO源代碼在這里:EP5-SDCC-src.tar.bz2



          關(guān)鍵詞: EasyPro51編程器SDC

          評論


          技術(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); })();