회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
106 펌웨어 & 코딩언어 객체지향프로그래밍4 끼르 348 2017.06.19
105 펌웨어 & 코딩언어 적외선 센서에 대한 질문입니다.3 jaemi2010 348 2016.02.25
104 펌웨어 & 코딩언어 구조체 포인터 캐스팅??1 기다려줄래 319 2015.07.10
103 펌웨어 & 코딩언어 matlab에서 작성된 m file을 c++로 변환하고 싶습니다.1 마린스토리 287 2014.04.28
102 펌웨어 & 코딩언어 HOTC언어로된 MPPT제어 프로그램 Code Vision 으로 변환하기 찰떡젤리 583 2014.04.21
101 펌웨어 & 코딩언어 HOTC 명령어 좀 상세히 알고 싶습니다1 jsp 404 2014.04.03
100 펌웨어 & 코딩언어 HOT피보나치 수열..2 aNitMotD 557 2013.10.30
99 펌웨어 & 코딩언어 HOT1D FEM coding 문제 ..원하는 답이 안나와요 수치해석미쵸 510 2013.09.29
98 펌웨어 & 코딩언어 HOTPIC 16F628A와 CCSC 기반의 프로그래밍 질문입니다. 제발 도와주세요ㅠㅠ 신천동주민 485 2013.09.24
97 펌웨어 & 코딩언어 HOT비주얼베이직 연산 및 줄바꿈에 대한 질문입니다.1 원할머니보고쌈 683 2012.11.07
96 펌웨어 & 코딩언어 c언어 질문인데요..3 하하하하히 396 2012.09.10
95 펌웨어 & 코딩언어 HOTC언어제어3 tbwnaoslwj1 655 2012.08.09
94 펌웨어 & 코딩언어 HOTmatlab 질문입니다.. 소다수1 416 2012.06.06
93 펌웨어 & 코딩언어 HOT-(C언어(함수호출)로 만든 크리스*마스*트리*프로그램)-1 리종순2 1478 2011.12.14
92 펌웨어 & 코딩언어 HOT외부 SRAM 컨트롤하는 것좀 도와주세요.1 쩡무 1382 2011.11.15
91 펌웨어 & 코딩언어 HOTunikey program 수정 jjhuem 1129 2011.10.11
90 펌웨어 & 코딩언어 HOTAtmega128에서 Reset 하는 방법 중 궁금한 점이 있습니다!!!4 공돌이의꿈 3163 2011.06.21
89 펌웨어 & 코딩언어 HOTC언어랑 matlab의 차이?1 약곰탱이 3529 2011.06.02
88 펌웨어 & 코딩언어 HOTVHDL 전가산기 설계 질문입니다. 나트륨 2992 2011.03.26
87 펌웨어 & 코딩언어 HOTC 배열이용해서 엑셀 데이터 끌어오는 방법???2 꼬꼴리 2123 2011.03.24
  • 어떤 일이건 60분을 계속 생각하면 결국 도달하는 것은 혼란과 불행이다.
    - 제임스 사버
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.