질문게시판 > 답변 : atmega2560에 관하여 질문드립니다.

TODAY227 TOTAL270,743
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


▼ BASIC4MCU 후원업체 최신 정보 ▼

▲ BASIC4MCU 후원업체 최신 정보 ▲

BASIC4MCU | 질문게시판 | 답변 : atmega2560에 관하여 질문드립니다.

페이지 정보

작성자 master 작성일2018-02-07 13:32 조회602회 댓글1건

본문

	

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <mega2560.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
#include <string.h>
#include <math.h>
//
typedef unsigned char byte;
//
long cnt_rising=0,cnt_falling=0,cnt_elev=0,cnt_aile=0,cnt_thro=0,cnt_rudd=0;
//
interrupt[EXT_INT2]void ext_int2_isr(void){ //ELEV Channel
  if(EICRA==0b11110000){ cnt_rising=TCNT1L|(long)TCNT1H<<8EICRA=0b11100000; }
  elsecnt_falling=TCNT1L|(long)TCNT1H<<8cnt_elev=(40000-cnt_rising+cnt_falling)%40000EICRA=0b11110000; }
}
//
interrupt[EXT_INT3]void ext_int3_isr(void){ //AILE Channel
  if(EICRA==0b11110000){ cnt_rising=TCNT1L|(long)TCNT1H<<8EICRA=0b10110000; }
  elsecnt_falling=TCNT1L|(long)TCNT1H<<8cnt_aile=(40000-cnt_rising+cnt_falling)%40000EICRA=0b11110000; }
}
//
interrupt[EXT_INT6]void ext_int6_isr(void){ //THRO Channel
  if(EICRB==0b11110000){ cnt_rising=TCNT1L|(long)TCNT1H<<8EICRB=0b11100000; }
  elsecnt_falling=TCNT1L|(long)TCNT1H<<8cnt_thro=(40000-cnt_rising+cnt_falling)%40000EICRB=0b11110000; }
}
//
interrupt[EXT_INT7]void ext_int7_isr(void){ //RUDD Channel
  if(EICRB==0b11110000){ cnt_rising=TCNT1L|(long)TCNT1H<<8EICRB=0b10110000; }
  elsecnt_falling=TCNT1L|(long)TCNT1H<<8cnt_rudd=(40000-cnt_rising+cnt_falling)%40000EICRB=0b11110000; }
}
//
void main(void){
  DDRB=0b11111111;
  PORTD=0b00001100;  //INT2,3
  PORTE=0b11000000;  DDRE=0b00110000;   //INT6,7
  EICRA=0b11110000;  EICRB=0b11110000;  EIMSK=0b11001100//INT2,3 rising edge //INT6,7 rising edge
  TCCR1A=0b10100010TCCR1B=0b00011001ICR1H=39999>>8ICR1L=39999&0xFF;
  TCCR3A=0b10100010TCCR3B=0b00011001ICR3H=39999>>8ICR3L=39999&0xFF;
  UCSR0B|=0x18UBRR0L=0x67;
  SREG|=0x80;
  while(1){
    printf("ELEV:%6ld / AILE:%6ld / THRO:%6ld / RUDD:%6ld\n",cnt_elev,cnt_aile,cnt_thro,cnt_rudd);
  }
}

 

16비트 레지스터를 바이트 단위로 읽거나 쓸 때에는 순서를 지켜야합니다.

 

 ICR1H=39999>>8ICR1L=39999&0xFF; 

쓸 때는 상위바이트부터 씁니다.

 

cnt_falling=TCNT1L|(long)TCNT1H<<8 

읽을 때는 하위 바이트부터 읽습니다. 

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 1

조회수 602

희안님의 댓글

희안 작성일

나름 열심히 공부하고 짠건데 순서가 있는거였군요 ㅠㅠ 좋은 공부가 됬습니다 :) 감사합니다!!

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.

ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 아두이노를 이용한 RGB LED 전등 제어 새글 위우위우 00:17 1
질문 SoftwareSerial을 이용한 버튼 및 LED 작동 댓글[1] 새글 깅깅 18-10-19 6
답변 답변글 답변 : SoftwareSerial을 이용한 버튼 및 LED 작동 새글 master 18-10-19 3
질문 PIR 센서 감도조절 질문 새글 master 18-10-19 2
질문 저번에 초음파와 dc모터 관련 질문했던 사람입니다. 아직 문제가 잘 해결되지 않아서 올립니다. 새글 재갈이 18-10-19 6
답변 답변글 답변 : 저번에 초음파와 dc모터 관련 질문했던 사람입니다. 아직 문제가 잘 해결되지 않아서 올립니다. 댓글[3] 새글 master 18-10-19 8
질문 Nrf24 양방향 송수신 진동모터 작동관련 질문입니다! 댓글[1] 새글 A반장 18-10-19 8
질문 아두이노 조도센서 반응을 반대로 하고 싶어요! 댓글[2] 새글 코코포도 18-10-19 12
질문 아두이노 LED랑 스피커 동시에 작동하는 법 질문 새글 master 18-10-19 11
질문 원래 나와야하는 시리얼 모니터 사진 올립니다. 새글 찰스백작 18-10-19 9
질문 GPS추적기 소스주신거 안되서 문의드립니다. 소스첨부합니다. 댓글[3] 이미지새글첨부파일 찰스백작 18-10-19 16
질문 STM32 공부방법 댓글[2] 새글 DrVoid 18-10-19 15
질문 gps 소스1으로는 안될까해서 문의드립니다.. 댓글[1] 새글 찰스백작 18-10-19 12
질문 아두이노에서 서보모터와 dc모터 두가지를 함께 이용하고 싶습ㄴ다. 댓글[2] 새글 김주리 18-10-19 19
질문 gps 추적기 다시문의드립니다. 다시 소스좀 부탁드립니다..ㅠㅠ 댓글[2] 새글 찰스백작 18-10-18 23
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017