专注电子技术学习与研究
当前位置:单片机教程网 >> 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
 

关闭窗口

相关文章