게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
정말 죄송한데.. AVR ATMEAG128 질문드려도 될까요?
게시물ID : programmer_2183짧은주소 복사하기
작성자 : 우유속의딸기
추천 : 1
조회수 : 646회
댓글수 : 5개
등록시간 : 2014/03/27 21:57:00
2개의 스위치가 각각 led가 한 방향으로 내려가거나, 올라가게 하도록 하고,
스위치 모두 내렸을 때는 반드시 0xef LED부터 아래로 순차적으로 내려가게 하도록 하려 합니다.

여기서 질문 드리고 싶은점은, 초기값을 0xef로 두면 불빛이 0xef만 빛나고 아래로 내려가진 않고,
제가 한 대로 하면 led가 모두 꺼졌을 때만 oxef에서 시작하여 순차적으로 내려갑니다. 
//당연히 if(LED==0xff) LED=0xfe; 로 했기 때문이지만, 이걸 빼고 뭘 넣어야 될지 몰라서..


요점은 어떤 변수를 설정하여 초기값을 주어야 스위치 2개를 모두 내렸을 때 0xef 부터 led가 작동할까요?
변수를 설정하여 초기값을 줘야할 것 같은데.. 감이 안잡히네요 ㅠ 


#include
unsigned char LED;
void delay(unsigned long i)
{
while (--i);
}
void SHIFTL()
{
if(LED==0xff) LED=0xfe;
else
{
LED = (LED<<1) | 0x01;
if(LED==0xff) LED = 0xfe;
}
}

void SHIFTR()
{
if(LED==0xff) LED=0x7f;
else
{
LED = (LED>>1) | 0x80;
if(LED==0xff) LED = 0x7f;
}
}
void SHIFTR2()
{
if(LED==0xff) LED=0xef;
else
{
LED = (LED<<1) | 0x01;
if(LED==0xff) LED = 0xfe;
}
}
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호