BASIC4MCU | 질문게시판 | 답변 : AT89S52 (8052) LED
페이지 정보
작성자 master 작성일2019-11-11 11:44 조회10,690회 댓글4건본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-11-11 오전 11:42:29// by Ok-Hyun Park//#include//void delay(unsigned int i){ while(i--); }//void main(void){unsigned char led=0,i;whlie(1){for(i=0;i<4;i++){ led|= ((0x80>>i)|((0x01<<i)); P1=~led; delay(0xb100); } // 위 4개for(i=0;i<4;i++){ led&=~((0x10<<i)|((0x08>>i)); P1=~led; delay(0xb100); } // 아래 4개}}
제대로 동작하는지 돌려보세요
led 변수는 정논리(HIGH일 때 켜지는)로 계산하고
P1 포트 출력시 반전시켜서 출력합니다.
아래라인 딜레이는 테스트가 끝난 후에 0.2초로 변경하세요
(딜레이가 길어야지 확인이 쉽습니다.)
댓글 4
조회수 10,690ttoo님의 댓글
ttoo 작성일
Build target 'Target 1'
compiling stop.c...
STOP.C(7): warning C206: 'whlie': missing function-prototype
STOP.C(7): error C267: 'whlie': requires ANSI-style prototype
STOP.C(7): error C141: syntax error near '{'
Target not created
오류가
이렇게 뜹니다ㅠ
master님의 댓글
master
컴파일러 헤더파일은 당연히 맞는 것을 넣으셔야하고요
컴파일러 옵션창에서 타겟 디바이스 선택을 하셔야합니다.
ttoo님의 댓글
ttoo 작성일
#include
//
void delay(unsigned int i){ while(i--); }
//
void main(void){
unsigned char led=0,i;
whlie(1){
for(i=0;i<4;i++){ led|= ((0x80>>i)|((0x01<<i)); P1=~led; delay(0xb100); } // 위 4개
for(i=0;i<4;i++){ led&=~((0x10<<i)|((0x08>>i)); P1=~led; delay(0xb100); } // 아래 4개
}
}
이렇게 똑같이 작성을 하여 돌려보았는데
Build target 'Target 1'
compiling stop.c...
STOP.C(7): warning C206: 'whlie': missing function-prototype
STOP.C(7): error C267: 'whlie': requires ANSI-style prototype
STOP.C(7): error C141: syntax error near '{'
Target not created
오류가 이렇게 뜨는데 옵션 설정 문제인가요?ㅠㅠ
타겟 디바이스가 옵션 for target 에서 어느 설정을 들어가야하는지 알수있나요ㅜ
master님의 댓글
master
#include <-- 여기에는 헤더파일 이름이 들어가 있어야합니다.
질문 시 누락된 것이고요
컴파일러와 디바이스에 맞는 헤더파일을 사용해야 합니다.
#include <reg51.h>
이런식이 되겠죠
네이버 지식인 같은 곳에 쓴 후에 코드를 복사하면 코드가 누락됩니다.