#include<reg51.h>
#define BIT_SET(X, NUM) ((X) | (0XO1<<NUM))
void delay_ms(int delay)
{
int i, j,k, l;
for( i = 0 ; i < delay ; i++ )
for( j = 0 ; j < 0x40 ; j++ )
for( k = 0 ; k < 0xffff ; k++ );
for( l = 0 ; l < 0xffff ; l++ );
}
void main()
{
int NUM=1;
char a=0x05;
while(1)
{
P1=a;
delay_ms(100);
P1=BIT_SET(a,1);
delay_ms(100);
}
}
위에 제가 작성한 코드인데요. main() 위의 함수는 딜레이 함수 입니다.
main() 함수 부터 보시면
저는 매크로함수를 이용하여 보드의 4개의 LED에서 1비트 셋을 하려고 합니다.
그런데 컴파일 하니 오류가 계속적으로 나서요.
무엇인문제인지좀 알려주시겠어요?
P1=BIT_SET(a,1) 이 오류라고 뜨는데 무엇인 문제인지 고수님들 부탁드리겠습니다.
여기에서 ( 0x01 )
영 x 영일 인가요?
아니면
영 x 오[영어]일 인가요?
영[0]대신 영문자 0가 쓰인 것 같은데요.