아두이노 IDE 프로그래밍 관련 문의 > Q&A

본문 바로가기

사이트 내 전체검색


커뮤니티
누구나 참여할 수 있는 캔위성 체험·경연대회 홈페이지 입니다.



Q&A

Home   >  커뮤니티  >  Q&A

아두이노 IDE 프로그래밍 관련 문의

페이지 정보

profile_image
작성자 이동원
댓글 0건 조회 885회 작성일 18-02-22 15:15

본문

안녕하세요 아두이노 IDE 를 셋팅한 후에 컴파일하여 LED등이 정상 동작하는 것을 확인했습니다.

IMU 값을 읽는 간단한 프로그램을 짜려고 아래처럼 해 보았습니다.
뭔가 신호가 오면 LED를 깜빡이려 했습니다.

하지만 IMU에서 전혀 신호가 오지 않습니다. USB를 제거하고
해 보아도 마찬가지네요 의견 부탁드립니다.

#define RxMode_CAMERA_PORT 0x00  // 0000 0000 = 0
#define RxMode_GPS_PORT    0x01  // 0010 0001 = 1
#define RxMode_IMU_PORT    0x02  // 0100 0020 = 2
int buf;

void setup() {

  // put your setup code here, to run once:
  hyCANSAT_AVR_INIT(); 
  Serial.begin(115200);
  RxModePortSet(RxMode_IMU_PORT);

  pinMode(LED0, OUTPUT); 
}

void loop() {
  // put your main code here, to run repeatedly:
 
  if( Serial.available() ) {
      buf=Serial.read();
     
      digitalWrite(LED0,HIGH);
      delay(50);
      digitalWrite(LED0,LOW);
      delay(50);

    }

 
}

void RxModePortSet( unsigned char iMode)
{
  unsigned char b = PINC  ;
  b    &= 0xF0  ; // direction is 0
  b    |= iMode ;
  PORTC = b      ;
}

void hyCANSAT_AVR_INIT()
{
  // 초기화 부분
  MCUCR  = 0x00 ;

  DDRA  = 0xFF ; // for DTLM CMD : output
  PORTA = 0x00 ;

  DDRB  = 0xFF;  // for OUTPUT LED
  PORTB = 0xFF;

  DDRC  =0xFF; // for selection output
  DDRF  =0x00; // for adc input
  //PORTF =0x00;

  DDRE  =0xFF; // 1110 0010 : OUT for 1 Read for 0

  // Timer 설정 부분
  // Timer :: for 1ms
  TIMSK = (1<<TOIE0) ;
  TCNT0 = 0 ;
  TCCR0 = 5 ; // 1 , 2=/8, 3 =/64 , 4 =/256 5 =/1024
//  TCCR0 = 3 ; // 1 , 2=/8, 3 =/64 , 4 =/256 5 =/1024

  DDRD = 0xFF ; // 양방향


}

첨부파일

댓글목록

등록된 댓글이 없습니다.


캔위성체험경연대회 주소 : 34141 대전광역시 유성구 대학로 291 KAIST 인공위성연구소
E-mail : cansat@kaist.ac.kr
COPYRIGHT SATREC CANSAT COMPETITION 2023. ALL RIGHTS RESERVED.