회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
972 마이크로프로세서 HOT오토캐드에서 작성한 회로도를... 땜쟁이야 1571 2011.11.22
971 마이크로프로세서 HOTinterrupt 사용법에 대해서 궁금한 점 있습니다. 해오 890 2011.11.21
970 마이크로프로세서 HOT1초마다 교대로 문자 출력하는 소스인데 안되서요 ㅠ1 허브명수 1174 2011.11.21
969 마이크로프로세서 HOT안녕하세요. 픽 두번쨰로 접한 초보입니다. 여쭈고 싶은게 있어서요 거덜러미 1033 2011.11.20
968 마이크로프로세서 HOT데이터 입력에 관한 질문입니다. 드미트리 894 2011.11.18
967 펌웨어 & 코딩언어 HOT외부 SRAM 컨트롤하는 것좀 도와주세요.1 쩡무 1382 2011.11.15
966 마이크로프로세서 HOTpid제어를 통해서 도립진자를 만드려는데 좀 힘드네요ㅜ 도와주세요ㅜ 매실한잔 1486 2011.11.14
965 마이크로프로세서 HOTled 제어하는데... 실마리온 1010 2011.11.14
964 마이크로프로세서 HOT8051 사거리 신호등 LED패턴 바꾸기 소스코드좀 봐주세요... LED깜빡 1509 2011.11.12
마이크로프로세서 HOT데이터 뽑는 소스 질문입니다 ㅠ.ㅠ; 드미트리 1084 2011.11.11
962 마이크로프로세서 HOTSTM32 Bitband 큰강아지 1705 2011.11.09
961 마이크로프로세서 HOT이제 막 배우기 시작했는데 램프하나 제대로 못켜겠어요 도와주세요1 안녕:) 1240 2011.11.06
960 마이크로프로세서 HOT8051 프로그램좀 짜주세요 ㅠ 재상 1006 2011.11.04
959 마이크로프로세서 HOT이 헤더 파일 질문입니당~ ㅠ.ㅠ; 드미트리 867 2011.11.03
958 마이크로프로세서 HOT아트메가 초보가 질문 드립니다. winglyc 1059 2011.11.03
957 마이크로프로세서 HOT데이터 뽑는 거~질문이요~2 드미트리 1416 2011.11.02
956 마이크로프로세서 HOTAVR소스를 이용한 GPS parsing 질문1 드미트리 3049 2011.11.01
955 마이크로프로세서 HOTled 점등 소스코드 부탁좀1 jounghun325 1075 2011.11.01
954 마이크로프로세서 HOT적외선센서를 ADC로 변화하는 것에 대해 궁금합니다. 경마장 1301 2011.10.25
953 마이크로프로세서 HOTAVR용 연습도구7 견우7 1673 2011.10.19
Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 58 Next
  • 현명해 지기는 아주 쉽다. 그저 머릿속에 떠오르는 말 중에 바보같다 생각되는 말을 하지 않으면 된다.
    - 샙 레븐슨
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.