회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
15 Software & IDEs HOT어셈블리 프로그래밍에서 질문이 있습니다.1 strongman 1154 2009.08.07
14 Software & IDEs HOT데이터 전송 모듈... 류짜장 1040 2008.12.16
13 Software & IDEs HOT8051 신호등 만들때 헤더파일 문제.1 마모루 1489 2008.11.16
12 Software & IDEs HOT길찾기 알고리즘3 인조사람 1199 2008.10.20
11 Software & IDEs HOTMFC로 길찾기 구현 남뉴 1681 2008.10.05
10 Software & IDEs HOT완전초보입니다. 잘부탁드립니다.4 초보민 993 2008.09.19
9 Software & IDEs HOTMatlab 시리얼통신을 통한 그래프만들기..;;1 GreatSSang 3704 2008.09.16
8 Software & IDEs HOT검색엔진의 문자열 논리연산 구현! 도와주세요 ㅡㅜ1 델리트 1097 2008.08.13
7 Software & IDEs HOT윈도우 상에서 비주얼 2005를 이용한 시리얼 포트 프로그래밍2 .ㅇㅈㅇㅈ 1075 2008.07.04
6 Software & IDEs HOTLCMS, DirectX SDK, Visual Studio 6, Platform SDK 호환성 문제 아크마 2256 2008.04.19
5 Software & IDEs HOT칼씨 사용법은 없나요??2 돌격대장 1080 2008.04.13
4 Software & IDEs HOT비쥬얼비튜디오 20057 あさひ 1005 2008.02.02
3 Software & IDEs HOTapi 관련해서 물어봅니당..ㅠ2 화언 735 2008.02.01
2 Software & IDEs HOT8051도트입니다1 판도라 1093 2008.01.30
1 Software & IDEs HOT나누미질문이요...4 악당 1035 2007.10.12
  • 이 무한한 공간의 영원한 침묵이 나를 두렵게 한다.
    - 파스칼
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.