회원가입 ID/PW 찾기
AA

밑에 소스 보시면 led가 좌 ==> 우 ,  우 =>좌 로 이동해야 되는데

좌 ===> 우 로 밖에 되지 않네요..

이것때문에 벌써 몇 시간째 하고 있는데...       왕복으로 할려면 소스를 어떻게 짜야 될까요 ㅠ.ㅠ

#include<avr/io.h>
#include<avr/iom128.h>
#include<avr/interrupt.h>
#include<compat/deprecated.h>

unsigned char data=0x01;

 

int main(void)
{
    DDRB=0xFF; // 포트 B 출력
    PORTB=data;       
   DDRD = 0x00;   // PD0 입력  
 
     
    EIMSK|=0x01;   // INT0 개별 인터럽트 인에이블  
    EICRA|=0x03;   // INT0 상승 에지   
    EIFR|=0x01;     // INTF0 클리어   
     
    sei();       
                             
           
    while(1);  
      

ISR(INT0_vect)  
{  
  
  data <<= 1;  // led 변수의 좌 쉬프트
 
 if(data == 0x00)
 {
  data ==0x01;  
 }

 PORTB = data;  // 포트 B에 LED 값 출력함

-----------------------------------------------------------------------------------------------

요건 제가 생각해 본 소스인데.. 계속 안되네용 ㅠ.ㅠ

#include<avr/io.h>
#include<avr/iom128.h>
#include<avr/interrupt.h>
#include<compat/deprecated.h>
#include<util/delay.h>
unsigned char led=0x00;

int main(void)
{
 
            
 DDRB=0xFF; // 포트 B 출력
 PORTB=0x00;     
 
    DDRD = 0x00;   // PD0 입력  
 
    EIMSK|=0x01;   // INT0 개별 인터럽트 인에이블  
    EICRA|=0x03;   // INT0 상승 에지   
    EIFR|=0x01;        
     
    sei();     
   
 return 0; 

ISR(INT0_vect)  
{  
    unsigned char led=0;
 while(1)
 {
        for(led=0; led< 8; led++)
   {
   PORTB=~(1<<led);
   _delay_ms(1500);
   }
     // PORTB = led;
        for(led=7; led>=0; led--)
   {
   PORTB=~(1<<led);
    _delay_ms(1500);
   }
      //PORTB = led;
    }
}

댓글 5
  • No Profile
    저..위에코드말인데요 ISR함수 들어올때마다  data <<= 1; 이거때문에 그런거 아닌가욤?
  • No Profile
    글쓴이 강희 11.01.12 16:06 댓글 좋아요 0 싫어요 0

    위에 코드는 한칸씩 옆으로 가는거고요..

    밑에 코드가 스위치 누를때마다 좌==>우 , 우===>좌로 가야 되는데..

    for문은 바로 스위치 누르면 같다가 바로 오네요.

    스위치 눌렀을때 옆으로 한 칸씩 갔다가 다시 와야 되는데..

    어떻게 짜야 되는지 모르겠네요.ㅠ.

  • 강희님께
    No Profile

    지금 아래쪽코드를 보면 스위치를 눌러서 인터럽트 발생시마다 ISR함수가 실행되는데 이렇게 될때마다 led라는 변수가 계속 0으로 초기화 되네요 하나씩 차근차근 보면서 다시 해보시면 쉬우실텐데..

  • No Profile

    winavr에서 compile한 거라면

    인터럽트에서 전역변수를 사용하려면 "volatile"을 써주어야 합니다.

    volatile unsigned char data;

    라고 선언해야 합니다.

     

  • No Profile

    서비스 루틴안에 코드를 짜신건가요?

     

    이런 방식의 코딩은 좋지 않은것 같습니다.

     

     ISR 내부에는 간략한 변수 바꿈이나 if문 정도만 써주시고  좌-> 우  , 우-> 좌  따로따로 함수를 만들어서

     

     서비스 루틴에서 함수를 바꾸어주는 방식을 쓰시는 편이 제어하기 편합니다.

     

    메인문에서 함수 돌리고 인터럽트 발생시에 함수를 왔다갔다 하는 방법이죠

     

     ISR 내부에 무한 반복문은 충격적이군요

     

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
49 Analog & Mixed-Signal 설계 HOT급해요 제발 좀 봐주세요 ㅠㅠ2 bbororok 3225 2011.03.19
48 Analog & Mixed-Signal 설계 HOT회로상의 상황..3 혈청 1504 2011.03.18
47 Analog & Mixed-Signal 설계 HOT노이즈 관련 sakayo 1677 2011.03.11
46 Analog & Mixed-Signal 설계 HOT전류 유지8 chumdan 3010 2011.03.10
45 Analog & Mixed-Signal 설계 HOTDC-DC 컨버터 이론6 나다날르다3 2448 2011.03.09
44 Analog & Mixed-Signal 설계 HOT노이즈 문제(?) 문의드립니다~!2 MATY 2110 2011.02.22
43 Analog & Mixed-Signal 설계 HOT혹시 OrCAD 16.3 사용하시는 분 계세요?1 만학도 3198 2011.02.17
42 Analog & Mixed-Signal 설계 HOT플업 ,플다운 회로 설명12 soso79 2731 2011.02.15
41 Analog & Mixed-Signal 설계 HOTLED 구동 및 회로에서 궁금한 점이 있습니다.1 마임부우 1736 2011.02.14
40 Analog & Mixed-Signal 설계 HOTOP AMP사용시 THD1 혈청 1671 2011.02.08
39 Analog & Mixed-Signal 설계 HOTHDMI 패턴 고려할 사항 질문1 아크마 3586 2011.02.08
38 Analog & Mixed-Signal 설계 HOT포토 커플러? 기본 개념 부탁드려요1 초보탈출!! 1941 2011.01.25
37 Analog & Mixed-Signal 설계 HOT풀업 & 풀다운 설명 부탁드려요...2 초보탈출!! 1427 2011.01.24
36 Analog & Mixed-Signal 설계 HOT포토커플러 이용 28V 스위치 회로도 문의2 유럽여행 4185 2011.01.24
35 Analog & Mixed-Signal 설계 HOT질문] 적외선 리모컨 에 대하여 관한 질문 입ㄴㅣ다1 라인걸어서 1663 2011.01.19
34 Analog & Mixed-Signal 설계 HOTw5300 회로도좀 검토해주세요.3 Touch_inkoo 1850 2011.01.14
33 Analog & Mixed-Signal 설계 HOT정전압 전원회로2 멋쟁이짱 1691 2011.01.12
32 Analog & Mixed-Signal 설계 HOTLED 정전류 구동이유에 대한 글입니다. 이해안되는 부분이 있어서 설명 부탁드립니다. 엘이디 2044 2011.01.11
31 Analog & Mixed-Signal 설계 HOT댓글 systec 929 2011.01.07
30 Analog & Mixed-Signal 설계 HOT라인트레서 모터부(구동부)대한 질문 점 해도 될까요?1 라인걸어서 2005 2011.01.07
  • 사랑하고 사랑받는다는 것은 태양을 양쪽에서 쪼이는 것과 같다.
    - 비스코트
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.