BASIC4MCU | 질문게시판 | 인터럽 질문이요!
페이지 정보
작성자 허니 작성일2018-06-08 17:03 조회8,357회 댓글0건본문
안녕하세요 음성모듈로 작품도전하는 초보입니다 ㅠ
일단 아두이노를 이용해서 아트메가에 신호를 보내는데 성공했으나
인터럽에서 막힙니다. ㅠㅠ
저희가 현재 쓰고있던 코드는 아래와 같습니다
#include <mega128.h>
#include <delay.h>
#asm
.equ __lcd_port=0x18; //PORTB
#endasm
#include <lcd.h>
void main(void)
{
DDRD=0x00;
DDRC=0xff;
PORTC=0x00;
PORTD=0x00;
SREG=0x80;
EIMSK=0x01;
EICRA=0x03;
EIFR=0x00;
lcd_init(16);
while(1)
{
if((PIND.5==1)|(PIND.6==1)|(PIND.7==1))
{
EIFR=0x01;
}
lcd_gotoxy(4,0);
lcd_putsf("DETECTING");
lcd_gotoxy(5,1);
lcd_putsf("NOISE..");
}
}
interrupt [EXT_INT0] void ext_int0function(void)
{
if((EIFR==0x01)&&(PIND.5==1))
{
PORTC=0x01; //모터동작
lcd_gotoxy(4,0);
lcd_putsf("CRYING");
lcd_gotoxy(5,1);
lcd_putsf("BABY!");
}
else if((EIFR==0x01)&&(PIND.6==1))
{
PORTC=0x02; //모터동작
lcd_gotoxy(4,0);
lcd_putsf("WARNING");
lcd_gotoxy(5,1);
lcd_putsf("FIRE!");
PORTC=0x04;
}
else if ((EIFR==0x01)&&(PIND.7==1))
{
PORTC=0x04; //모터동작
lcd_gotoxy(4,0);
lcd_putsf("WARNING");
lcd_gotoxy(5,1);
lcd_putsf("CAR!");
PORTC=0x04;
}
}
아두이노에서 아트메가로 보내는 핀이 PD5, PD6, PD7 번 핀을 사용하고 있습니다.
해당 핀에 해당하는 음성을 보냈을때 멀티미터로 그 해당핀의 전압이 5V에 수렴되는 것을 확인했습니다 EX) 차소리 >음성인식모듈> 아두이노> 아트메가로 전송(PD7) > PD7번핀의 전압이 5V에 수렴 확인 ....여기까지만 동작하고 인터럽이 발동되지가 않습니다 ㅠㅠ
이에 저는 외부인터럽 0번을 실행해야 하지않나 생각했지만
외부인터럽 0번이 동작하지 않아 어느 부분에서 문제인지 궁금해 질문올립니다 ㅠ
댓글 0
조회수 8,357등록된 댓글이 없습니다.