회원가입 ID/PW 찾기
AA
#include<avr/io.h>
#include<avr/interrupt.h>



volatile unsigned char count=0;
volatile unsigned char timer_flag=0;
volatile unsigned char job=0;
volatile unsigned char job1=0;
volatile unsigned long High_table[18]={1389,1599,1799,1999,2199,2400,2599,2796,3002,3199,3401,3596,3802,3999,4201,4394,4596};
volatile unsigned long Low_table[18]={38599,38399,37999,37799,37599,37399,37199,36999,36799,36599,36399,36199,35999,35799,355599,35399};
volatile unsigned char temp=0;
volatile unsigned char temp2=0;
volatile unsigned char val=0;

void init_timer1()     
{

    TCCR1B=0x0A;
OCR1A=39999; 
TIMSK  |= (1<<OCIE1A);      
}
void init_timer2()     
{

  
    TCCR3B=0x0A;
OCR3A=39999; 
ETIMSK |= (1 << OCIE3A); 
}
int main(void)
{

cli();

DDRG=0xff;
DDRA=0xff;
DDRE = 0xFE;


ADMUX = (0<<REFS1) | (1<<REFS0) | (1<<ADLAR); 
ADCSRA = (1<<ADEN) | (1<<ADPS2) ;

init_timer1();
init_timer2();


sei();



while(1)
{

ADCSRA |= 0x40;
while((ADCSRA & 0x10) == 0);


temp=ADCL;
temp=ADCH;


}

return 0;
}

ISR(TIMER1_COMPA_vect)
{

OCR1A=39999; 

ADMUX= (ADMUX & 0xF8) + 0x00;

if(temp==255)
{

if(job)
{
job=0;
OCR1A=High_table[0]; 
PORTG=0xff; 
}
else
{
job=1;
    OCR1A=Low_table[0]; 
PORTG=0x00; 

}
}
}
ISR(TIMER3_COMPA_vect)
{

  OCR1B=39999; 
ADMUX= (ADMUX & 0xF8) + 0x01;

if(temp==0)
{

if(job1)
{
job1=0; 
OCR3A=High_table[1]; 
PORTA=0xff; 
}
else
{
job1=1;
    OCR3A=Low_table[1]; 
PORTA=0x00; 
}
}
}

제가 짠 프로그램인데 조이스틱을 이용해서 들어오는 adc 값 가지고 펄스를 내보내려고 합니다.
근데 ISR(TIMER1_COMPA_vect) 하나만 인터럽트 할때는 정상적으로 되는데 ISR(TIMER3_COMPA_vect)
까지 같이 하려니까 인터럽트는 걸리는데 나오는 펄스가 제대로 되질 않네여;; 조언 부탁드립니다
댓글 1

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

search
번호 분류 제목 글쓴이 조회 수 날짜
534 Allegro & OrCAD footprint 입력하는게 헷갈리네요.2 기적 298 2015.03.30
533 Allegro & OrCAD HOTORCAD 16.5 버전 capture 에러 기적 958 2015.03.27
532 ECAD 아무거나 PAD9.0 xp 버젼인데 window7에 가능하나요?3 슈퍼마리오 268 2015.01.20
531 Allegro & OrCAD HOTorcad 16.3으로 쓴 회로를 pads9.5로 아트웍을 할 수 있나요?3 molody88 1128 2015.01.13
530 PADS HOTPads 9.5 문의합니다.2 오리온32 795 2015.01.11
529 PADS HOT입문자에게 기초 강좌 있나요?5 Hyoung 485 2015.01.04
528 ECAD 아무거나 HOTPads 질문 드립니다.2 공돌초보 661 2014.12.24
527 Allegro & OrCAD HOT넷리스트 오류 로그파일올려봣는데..원인좀..알려주시면 감사드리게요1 미키미키 1343 2014.12.22
526 PADS HOTpads 거버파일 확인 할 공개 프로그램 없는지요?2 만내 1851 2014.12.17
525 PADS 내층 질문 입니다1 초구의마술사 181 2014.12.16
524 ECAD 아무거나 HOTPADS PCB파일 버전변경4 무뇌혀니 497 2014.12.12
523 PADS PADS9.0을 쓰고 있습니다. nogaring 230 2014.12.04
522 Allegro & OrCAD OrCAD 16.0 라이센스 구입1 intcon 373 2014.11.26
521 PADS DXF에 관한 질문1 wjddmltn23 362 2014.11.25
520 Allegro & OrCAD HOT전자캐드기능사를 준비하고 있는 뉴비입니다. 도움좀 주세요 ㅠㅠ1 전후 669 2014.11.17
519 Allegro & OrCAD 형님들안녕하십니까? orcad 초짜입니다1 정재욱 274 2014.11.16
518 Allegro & OrCAD HOT이러한 라이브러리는 ORCAD에서 어떻게 추가하는 건가요?2 그라목숀 1952 2014.10.25
517 ECAD 아무거나 HOT안녕하세요. cam350에 관한 질문 입니다. wjddmltn23 543 2014.10.20
516 ECAD 아무거나 HOTPCB 설계시 SH 마크 질문 finics 438 2014.09.18
515 PADS HOTPCB DECAL 만들때 장홀은 어떻게 만드나요?2 치르르 1060 2014.09.02
Prev 1 2 3 4 5 6 7 8 9 10 ... 32 Next
  • 걱정은 인생의 적이다.
    - 셰익스피어
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.