微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 把EasyPro51编程器的源代码修改在SDCC上,编译运行通过

把EasyPro51编程器的源代码修改在SDCC上,编译运行通过

时间:11-29 来源:互联网 点击:
因为我有点时间就去开发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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top