日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

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

          把EasyPro51編程器的源代碼修改在SDCC上,編譯運(yùn)行通過(guò)

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

          比如說(shuō)P0.1口的LED.點(diǎn)亮他在Keil中這么寫

          本文引用地址:http://yuyingmama.com.cn/article/201611/323425.htm

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

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

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

          這才是正確的。

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

          unsigned char Data;

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

          這就是有錯(cuò)的。因?yàn)樵?sdcc中,你沒有把Data定義成signed char .所以他會(huì)報(bào)錯(cuò),說(shuō)這個(gè)不是有符號(hào)位的。

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

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



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

          評(píng)論


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

          關(guān)閉