[RE] 아두이노 IDE 프로그래밍 관련 문의
페이지 정보
본문
캔위성 기본키트에서는 Serial Port 를 두개를 사용하는데요.
탑재체(카메라,IMU,GPS 등)는 Serial1 과 통신을 하고 있습니다.
#define GS_0_PL_1 // if defined GS = UART_PORT_0 , PL = UART_PORT_1 VERSION 2014
....
#define GS_PORT Serial
#define PL_PORT Serial1
#define PL_PORT Serial1
....
추가적으로, IMU 쪽에서 데이터가 나오고 있는지 확인해 보시는 것도 괜찮을 것 같습니다.
1. IMU만을 점검
. 온라인교육자료의 "2017 교육자료 - 캔위성 모듈 점검 (IMU) (슬기부) " 자료를 참고해 보세요.
2. 보드가 연결된 상태 점검
. 오실로스코프 등을 이용하여 IMU 의 TX 핀을 확인해 보시기 바랍니다.
>
>
> 안녕하세요 아두이노 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< 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 ; // 양방향
>
>
> }
>)>
- 이전글아두이노 IDE 프로그래밍 관련 문의 18.02.22
- 다음글2017 캔위성 슬기부 일정 관련해서 질문 드립니다. 17.08.11
댓글목록
등록된 댓글이 없습니다.