회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
13 전기전자 아무거나 HOTPads 자료 올리려구 했습니다만..6 하루 1559 2007.11.13
12 전기전자 아무거나 HOTAC Termination 에서 좀 아시는 분...ㅠㅠ1 하루 1205 2007.11.13
11 전기전자 아무거나 HOT롬 라이터기 사용법 문의.,..6 shin 1673 2007.11.09
10 전기전자 아무거나 HOT음성칩관련 질문1 빛나는 영혼 1547 2007.11.09
9 전기전자 아무거나 HOTDMX 5121 날뽕녀 1440 2007.11.09
8 전기전자 아무거나 HOT라인트레이서에 신호등을 추가할려고합니다.5 맥커터 1886 2007.11.05
7 전기전자 아무거나 HOT파워에 대한 질문7 빛나는 영혼 1853 2007.11.05
6 전기전자 아무거나 HOTpads관련한2 똥글뱅이 1438 2007.11.01
5 전기전자 아무거나 HOT구리판? 알루미늄판?7 챠리스만 2085 2007.10.30
4 전기전자 아무거나 HOTLED 저항 문의..17 shin 2380 2007.10.28
3 전기전자 아무거나 HOT아크마님 조언 좀 부탁드려요~6 챠리스만 1493 2007.10.15
2 전기전자 아무거나 HOT마땅히 질문할 곳이 없어서 ^_^ㅋ23 챠리스만 1751 2007.10.04
1 전기전자 아무거나 HOTLM2575를 쓸것인가 7805를 사용 할 것인가..12 화언 5403 2007.08.14
  • 가정은 삶의 보물상자가 되어야 한다.
    - 코르뷔제
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.