질문게시판 > 답변3 : atmega2560에 관하여 질문드립니다.(비트마스크)

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


▼ BASIC4MCU 후원업체 최신 정보 ▼

▲ BASIC4MCU 후원업체 최신 정보 ▲

BASIC4MCU | 질문게시판 | 답변3 : atmega2560에 관하여 질문드립니다.(비트마스크)

페이지 정보

작성자 master 작성일2018-02-07 17:14 조회812회 댓글2건

본문

	

 

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; }
}

 

4개의 인터럽트는 모두 같은 유형이니 하나만 설명합니다.

 

연산에 문제가 있습니다.

interrupt[EXT_INT2]void ext_int2_isr(void){ 
  if(EICRA==0b11110000){ EICRA=0b11100000; }
  else                  EICRA=0b11110000; }
}

체크해야 하는 비트는 4,5인데 이대로 조건식을 만들면 

비트6,7의 영향을 받습니다.

interrupt[EXT_INT2]void ext_int2_isr(void){ 
  if((EICRA&0b00110000)==0b00110000){ EICRA&=~0b00010000; }
  else                               EICRA|0b00010000; }
}

if()문의 조건식이나 값을 설정하는 곳 모두 비트마스크 방법을 사용해야 합니다.

interrupt[EXT_INT2]void ext_int2_isr(void){ 
  if(EICRA&0x10){ } //비트4가 1이면
  else          } //비트4가 0이면
  EICRA^0x10; // 나가기 전에 비트4 반전
}
저라면 이렇게 작성하겠습니다.

 

 

언급하지 않은 다른 부분도 잘 체크 해보세요

 

RC수신기로부터 8채널 PWM 신호 입력 - CPPM 이미지 

RC수신기로부터 8채널 PWM 신호 입력 - PPM 이미지 

위 예제 참고하세요 (동작시켜본 것은 이닙니다.)

 

//

"고수가 되는 지름길은 포기하지 않고 오류를 디버깅 하는 것이다."

 

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

댓글 2

조회수 812

희안님의 댓글

희안 작성일

단순히 데이터 시트를 바탕으로 코드를 짜면 되는 줄 알았는데 서로 다른 비트가 조건식에 의해 영향을 받는 것까지는 차마 생각하지 못했었네요. 올려주신 예제와 비트마스크 그리고 답변 1을 참조하여 좀 더 간략하고 깔끔한 코딩식을 짜봐야 겠습니다. 도움을 주셔서 감사합니다.

master님의 댓글

master 댓글의 댓글 작성일

조종기의 PWM 채널 신호는
각각의 인터럽트가 순차적으로 들어오기 때문에
특수한 상황이라서 문제가 되지는 않겠습니다.

질문게시판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 9
질문 아두이노 조도센서 반응을 반대로 하고 싶어요! 댓글[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