我正在尝试设置和测试一个8051开发板。我使用的是Keil uVision 4,开发板中包含了一些代码示例。所包含的十六进制文件示例上传到8051,并完美地工作。
错误文本:正在编译LED.c...8051.h(29):错误C129:未创建'__at‘目标之前缺少';’
以下是原始的闪烁LED代码:
/**********
Blink LED
***********/
#include "8051.h"
sbit led=P2^0;
void delay(unsigned int time);
void main(void)
{
while(1)
{
led = led;
delay(40000);
delay(20000);
delay(20000);
delay(20000);
/*
led=1;
delay(20000);
led=0;
delay(20000);
*/
}
}
void delay(unsigned int time)
{
while(time--);
}
我是否测试了错误的8051.h文件,或者需要什么修复才能纠正这个问题?我已经尝试了多个8051.h文件和一个STC_8051.h,但都有同样的问题。
如有任何指导,敬请惠顾。
发布于 2015-01-19 17:32:45
它可能在外部存储器中,在这种情况下,您必须使用编译器特定的行将其声明为外部。
(即)对于SDCC
,应该是这样的
__xdata unsigned char * __data led = (__xdata unsigned char *) 0xMemoryLoc;
我不知道凯尔的情况如何。
https://stackoverflow.com/questions/27535585
复制相似问题