欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

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

作者:萬致遠   來源:本站原創   點擊數:  更新時間:2012年08月28日   【字體:

 

  因為我有點時間就去開發51單片機。發現在Linux(Debian和Ubuntu上)無法編譯51單片機程序,只好在網上下了個Keil.然后就是wine仿真。但是老崩潰。代碼也有問題。然后又改成了在虛擬機里跑。但是還是不爽!知道發現了SDCC后才知道了什么叫方便。一些Keil中的語法在SDCC中要更正。

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

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

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

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

這才是正確的。

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

unsigned char Data;

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

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

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

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

關閉窗口

相關文章