회원가입 ID/PW 찾기
AA

#include <iom128.h>
#include <ina90.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#define sei() SREG |= 0x80  // SREG의 젙체적 인터럽트 플래그 세트 (1)
#define cli() SREG &= ~0x80  // SREG의 인터럽트(I) 플래그 클리어 (0)

int loop_count = 0;
int end_loop = 0;
int copy_for_loop = 0;
char copy_1[30], copy_2[30], copy_3[30];

char data[100];
char buf,ISR_STATE;
// char second = 0;     // ISR : Interrupt Service Routine
// int i=0, j=0;
int k=0;
float Time_f, Lat_f, Lon_f;

void main(void)
{
   DDRA=0xff;
   PORTA=0x00;  
      //인터럽트 test
    //PORTG=0x03;
    //PORTE=0xfe;
   
   //  cli();
    // UART0
    // 수신 영역
    UCSR0A = 0x00;
    UCSR0B = 0x98;    // 1001 1000, RXCIE = 1 (interrupt 허용), RXEN0 = 1, TXEN0 = 1
    UCSR0C = 0x06;    // 전송 문자의 데이터 비트수 설정 _ 8 bit
    UBRR0H = 0x00;        // 데이터 송신 속도 결정
    UBRR0L = 0x67;        // 16MHz에서 9600 bps
   
    // UART1
    // 송신 영역
    UCSR1A=0x00;
    UCSR1B=0x90;
    UCSR1C=0x06;
    UBRR1H=0x00;
    UBRR1L=0x67;
     // UCSR1A = 0x00;
     // UCSR1B = 0x98;    // 1001 1000, RXCIE = 1 (interrupt 허용), RXEN1 = 1, TXEN1 = 1
     // UCSR1C = 0x86;
     // UBRR1H = 0x00;       
     // UBRR1L = 0x67;        // 8 bit     16MHz에서 9600 bps (10진수 103)
   
    // sei(); // SREG = 0x80,    전체 인터럽트 허용
   
   
 
    while(1)
      {  
      //  while(ISR_STATE);
      //    {                   //송신 완료 인터럽트 비활성화시 1로 변경됨  
      //      while(!(UCSR1A & 0x20)); // 송신 데이터 받을 준비 여부와 관련
      //      {
              UDR0 = data[k]; // 송수신 데이터의 버퍼 기능. 데이터 쓰기.
            if( (data[3]=='G' && data[4]=='G' && data[5]=='A'))
                {                      //data에 들어있는 원소가 각각 G G A이면                  
                    for(loop_count =0; ;loop_count++) //무한 반복
                    {
                      if(data[loop_count] == ',') //루프 돌릴시에 해당값이 ','라면
                      {
                          loop_count++;
                          for(copy_for_loop=0;data[loop_count] != ',';loop_count++)
                          {
                             copy_1[copy_for_loop] = data[loop_count];
                             copy_for_loop++;
                          }
                         
                          loop_count++;
                         
                          for(copy_for_loop=0;data[loop_count] != ',';loop_count++)
                          {
                            copy_2[copy_for_loop] = data[loop_count];
                            copy_for_loop++;
                          }
                         
                          loop_count = loop_count + 3;
                         
                          for(copy_for_loop=0;data[loop_count] != ',';loop_count++)
                          {
                            copy_3[copy_for_loop] = data[loop_count];
                            copy_for_loop++;
                          }
                          // UCSR0B |=0x80; //수신 완료 인터럽트 발생  
                   Time_f = (float)atof(copy_1);
                   Lat_f = (float)atof(copy_2);
                   Lon_f = (float)atof(copy_3);
 printf("Time = %12.5f , latitude = %12.5f  , longitude = %12.5f",Time_f,Lat_f,Lon_f);               

                            
                      }
                    }
                }
         //   }
       //  }
      }
}
                   
                   

 

컴파일 할때는 에러가 없는데...

하이퍼 터미널로 할 때는....

GPS 데이터가 들어오지 조차 않네요;;;;;;;

 

앞에 설정 부분이 잘못 된건가요??

많은 조언좀 ㅠ.ㅠ; 모르는게 너무 많아서 ㅠ.ㅠ;;

 

모르는게 많아서 C언어를 사용했는디..아....

잘 안되네요 ㅠㅠ


                    

댓글 0

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- 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 원할머니보고쌈 684 2012.11.07
96 펌웨어 & 코딩언어 c언어 질문인데요..3 하하하하히 397 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
  • 시간을 선택하는 것은 시간을 절약하는 것이다.
    - 베이컨
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.