회원가입 ID/PW 찾기
AA

추석에 test를 하다가 제가 외부 인터럽트에 대해서 test하는 도중이였어요 ㅋ

근데 스위치중에 저는 리셋옆에 있는 스타트 스위치만 인터럽트가 발생하던데 ㅋ 

다른버튼은 먹통이네여 ㅌㅌ 가르쳐주세요 ㅠ_ㅠ

소스는 ㅋ AVR-GCC로 하였구요 ㅋㅋ

내용은 이렇습니다.

// 작성 년 월 일 : 2007년 9월 26일
// 작성자 : 우주환
// project Name :KEY_TEST

#include <io.h>
#include "D:\내장형하드웨어\AVR\header\delay\delay.h"
#include "D:\내장형하드웨어\AVR\header\Comdef\Comdef.h"
#include <include\avr\interrupt.h>

void Init_Port (void)
{
  DDRA=0xff;  //Sensor_out PORT
  PORTA=0x00;

  DDRB=0xff;  //LED PORT
  PORTB=0xff;
 
//  DDRD=0xff;  //LCD PORT
//  PORTD=0xff;

  DDRE=0x0f;  //KEY & BEEP PORT
  PORTE=0xf0;
  
  DDRF=0x00;  // Sensor_in PORT
  PORTF=0x00;
}

void Init_key (void)
{
  EICRB=0xAA;  //int4~7 핀의 하강에지가 인터럽트를 트리거 한다.
  EIMSK=0xf0;    //int4~7 핀의 인터럽트를 허용한다.
  EIFR=0xff;  //clear interrupt flag
}

ISR(INT4_vect)
{
  PORTB=0x01;  //LED PORT 0b00000001;
  Delay_ms(10);  //delay 10MS 제가 만든거라서 조금 사용법은 다를수 있습니다.
}

ISR(INT5_vect)
{
  PORTB=0x02;  //LED PORT 0b00000010;
  Delay_ms(10);  //delay 10MS 제가 만든거라서 조금 사용법은 다를수 있습니다.
}

ISR(INT6_vect)
{
  PORTB=0x04;  //LED PORT 0b00000100;
  Delay_ms(10);  //delay 10MS 제가 만든거라서 조금 사용법은 다를수 있습니다.
}

ISR(INT7_vect)
{
  PORTB=0x08;  //LED PORT 0b00001000;
  Delay_ms(10);  //delay 10MS 제가 만든거라서 조금 사용법은 다를수 있습니다.
}

void main (void)
{
  Init_port();
  Delay_ms(10);
  Init_key ();
  Delay_ms(10);
  sei();  //global interrupt enable
  while(1)
  {
  }
}

//이 소스에서 INT4만 외부인터럽트가 발생하고 나머지는 발생하지 않는데 

소스가 잘못된 건가요???

댓글 6
  • No Profile

    ㅋㅋ 몰라요~~~스코프로 스위치마다 파형함 찍어보시고 제대로 되면~~소스 문제겠지요..

    조만간 제가 소스 이것저것 만들어서 전부 테스트를 해봐야할듯;;

    눈으로 봐서는..ㅋㅋ

  • No Profile
    글쓴이 빠라삐리뽀 07.09.28 15:38 댓글 좋아요 0 싫어요 0
    ㅋ_ㅋ 해결했어요 ㅋㅋㅋ 제가 소스를 잘못짠는거 같습니다. ㅠ_ㅠ

    근데 왜 그런지 아직 이해는 안된다는 ㅋㅋㅋ

    위의 소스에서 포트 초기화 부분에
    void Init_port (void)
    {
    ...
    ....
    DDRE=0xff;
    PORTE=0x00;
    }

    이렇게 선언해주니 되는군요 ㅋ
  • No Profile
    DDRE=0xff;
    PORTE=0x00;

    헐 출력으로 설정하니 된다니요..먼가 이상한..ㅋㅋㅋ
  • No Profile
    글쓴이 빠라삐리뽀 07.09.28 21:17 댓글 좋아요 0 싫어요 0

    네네 아직 저도 이해가 안가요 ㅋㅋㅋ 근데 AVR-GCC에선 되요 ㅋㅋㅋ

  • No Profile

    내부 풀업 풀다운이 의심스럽긴 하군요..근데 저러케 레지스터 설정해서는 풀업이 안될텐데..이궁-_-;;

    미스테리하군요.ㅋ.ㅋ

  • No Profile

    ??? 포트를 출력으로 한다는 게 이상하네요

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

search
번호 분류 제목 글쓴이 조회 수 날짜
108 마이크로프로세서 HOT저.. 공부하는 방법 때문에 그런데.. 도움 좀 주세요.. ㅠㅠ 울고싶어잉..14 행복하면 699 2007.09.30
107 마이크로프로세서 HOTAT89S51에서 ISP를 Serial Port로 하는 방법 질문4 임낙 1610 2007.09.30
106 마이크로프로세서 HOT안녕 하세요` ㅋㅋ6 행복하면 589 2007.09.28
105 마이크로프로세서 HOT8051 공부를 시작할려고 책을 샀는데..9 행복하면 612 2007.09.28
104 마이크로프로세서 HOT오늘부터 8051에 대해서 공부를 해 볼려고 이렇게 인사를 드립니다..7 행복하면 524 2007.09.27
103 마이크로프로세서 HOT마이컴 avr mega8535인데요...4 dwl 818 2007.09.26
102 마이크로프로세서 HOT아무리 생각해도 난 너를 ㅠ_ㅠ;;3 챠리스만 618 2007.09.21
101 마이크로프로세서 HOT듀비&주기에 관해서 질문합니다.(보너스도 포함-_-;;;)2 챠리스만 649 2007.09.20
100 마이크로프로세서 HOTADC에 궁금한게 있어 이렇게 질문 드립니다.7 레드리네 1071 2007.09.19
99 마이크로프로세서 HOT8051에 있는 4개의 7세그먼트를 가지고 할 수 있는게 머가 있을까요;;9 Genesis 1054 2007.09.18
98 마이크로프로세서 HOT아크마님 도와주세요 -_-;;1 챠리스만 586 2007.09.17
97 마이크로프로세서 HOT저의 생각에 조언을 부탁드립니다.8 챠리스만 755 2007.09.12
96 마이크로프로세서 HOT배터리 충전하는거에 대해서 질문드려요2 sinpk 620 2007.09.11
95 마이크로프로세서 HOTL297과 SLA7024를 이용한 스텝 모터 방향 제어4 기계사랑 2883 2007.09.11
94 마이크로프로세서 HOT제가짠 모터제어 소스인데 조금 봐주세요ㅜㅜ(안되내)3 mgcjjang 786 2007.09.10
93 마이크로프로세서 HOTavr studio 쓰는 도중에...7 화언 1748 2007.09.09
92 마이크로프로세서 HOT질문이 있어요 시리얼 인터럽트..4 빠라삐리뽀 611 2007.09.09
91 마이크로프로세서 HOT엽기 방열판ㅋㅋ6 뺘쑝 1533 2007.08.04
90 마이크로프로세서 HOT아흑 라인트레이서 그디어 조립 완성 ㅎㅎㅎ6 뺘쑝 1745 2007.07.26
89 마이크로프로세서 HOTMB 라인마우스 공개 샷!1 아크마 1606 2007.07.24
  • 사람은 타향에서 태어난다. 산다는 것은 고향을 찾는 일이다. 결국 생각하는 것은 삶이다.
    - 베르네
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.