2014-12-17 2 views
0

8051 개발 보드를 설정하고 테스트하려고합니다. Keil uVision 4를 사용하고 있습니다. 일부 코드 예제는 dev 보드에 포함되어 있습니다. 포함 된 16 진수 파일 예제가 8051에 업로드되어 완벽하게 작동합니다.Keil의 8051.h 오류, 간단한 C 깜박임 LED 코드

내 문제는 Keil에서 C 코드에서 새 16 진수 파일을 만들려고 할 때 8051.h 라이브러리에 오류가 있습니다. 나는 LED.c 파일을 가지고있는 것과 같은 폴더에 8051.h 파일을 놓았고, hex 파일은 어디에 저장되어 있는가?

오류 텍스트 : 컴파일 LED ... 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를 시도했습니다.

모든 안내에 감사드립니다.

+0

프로젝트 설정에 문제가있는 것으로 보입니다. 프로젝트를 생성하는 동안 프로젝트에 시작 파일을 추가하도록 선택 했습니까? – Swanand

+0

'__sbit __at (0x91) P1_1;'과 같은 문구가 있습니다. ** 8051.h ** 파일에 있습니다. 오류 정보는 오류 위치가 '8051.h'파일의 29 행에 있음을 나타냅니다. 자세한 내용은이 라인을 제공하는 것이 어떻습니까? – iama

답변

0

외부 메모리에있을 수 있습니다.이 경우 컴파일러 관련 줄을 사용하여 외부로 선언해야합니다. SDCC

(즉)는 내가 그것을 카일 간다 방법을 모르는이

__xdata unsigned char * __data led = (__xdata unsigned char *) 0xMemoryLoc; 

같은 것입니다.