회원가입 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 중고장터 HOTATS-20.000MHz 50개 빅세일 4747 2007.10.23
14 중고장터 HOTatmega128 pcb 팝니다. 보싸먹자 7417 2007.10.23
13 중고장터 HOT사진과 같은 모양의 서보혼 구입 원합니다.4 챠리스만 5227 2007.10.18
12 중고장터 HOT[판매] RC서보모터 RC-31112 아크마 5181 2007.10.09
11 중고장터 HOT[판매] SRF 04 초음파센서3 아크마 5241 2007.10.09
10 중고장터 HOT[판매] 5V DC어댑터 아크마 5016 2007.10.08
9 중고장터 HOT[전공서적] 회로이론 ALEXANDER , SADIKU4 아크마 6372 2007.10.08
8 중고장터 HOT라인트레이서 구합니다13 곰팅이 4934 2007.10.08
7 중고장터 HOT0.68옴 저항 1W, 2W 판매2 아크마 3939 2007.10.03
6 중고장터 HOT스테핑 모터 2개 파실분 댓글 달아주세요2 뺘쑝 3428 2007.10.02
5 중고장터 HOT라인트레이서4 날라 3514 2007.09.12
4 중고장터 HOT[판매]오실로스코프 100Mhz3 아크마 4659 2007.06.21
3 중고장터 HOT흥창 100Mhz 5510 오실로 스코프5 살러만 6236 2007.06.13
2 중고장터 HOT89c51 파라요!!11 아크마 4413 2007.05.28
1 중고장터 HOT중고 장터가 문을 열었습니다. 아크마 4399 2007.05.20
  • 일반적인 인간을 아는 것은 한 사람 한 사람의 인간을 아는 것보다 쉽다.
    - 라 로슈프코
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.