회원가입 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오토캐드에서 작성한 회로도를... 땜쟁이야 1565 2011.11.22
971 마이크로프로세서 HOTinterrupt 사용법에 대해서 궁금한 점 있습니다. 해오 883 2011.11.21
970 마이크로프로세서 HOT1초마다 교대로 문자 출력하는 소스인데 안되서요 ㅠ1 허브명수 1166 2011.11.21
969 마이크로프로세서 HOT안녕하세요. 픽 두번쨰로 접한 초보입니다. 여쭈고 싶은게 있어서요 거덜러미 1029 2011.11.20
968 마이크로프로세서 HOT데이터 입력에 관한 질문입니다. 드미트리 877 2011.11.18
967 펌웨어 & 코딩언어 HOT외부 SRAM 컨트롤하는 것좀 도와주세요.1 쩡무 1366 2011.11.15
966 마이크로프로세서 HOTpid제어를 통해서 도립진자를 만드려는데 좀 힘드네요ㅜ 도와주세요ㅜ 매실한잔 1478 2011.11.14
965 마이크로프로세서 HOTled 제어하는데... 실마리온 1006 2011.11.14
964 마이크로프로세서 HOT8051 사거리 신호등 LED패턴 바꾸기 소스코드좀 봐주세요... LED깜빡 1504 2011.11.12
마이크로프로세서 HOT데이터 뽑는 소스 질문입니다 ㅠ.ㅠ; 드미트리 1079 2011.11.11
962 마이크로프로세서 HOTSTM32 Bitband 큰강아지 1698 2011.11.09
961 마이크로프로세서 HOT이제 막 배우기 시작했는데 램프하나 제대로 못켜겠어요 도와주세요1 안녕:) 1233 2011.11.06
960 마이크로프로세서 HOT8051 프로그램좀 짜주세요 ㅠ 재상 997 2011.11.04
959 마이크로프로세서 HOT이 헤더 파일 질문입니당~ ㅠ.ㅠ; 드미트리 860 2011.11.03
958 마이크로프로세서 HOT아트메가 초보가 질문 드립니다. winglyc 1055 2011.11.03
957 마이크로프로세서 HOT데이터 뽑는 거~질문이요~2 드미트리 1411 2011.11.02
956 마이크로프로세서 HOTAVR소스를 이용한 GPS parsing 질문1 드미트리 3044 2011.11.01
955 마이크로프로세서 HOTled 점등 소스코드 부탁좀1 jounghun325 1068 2011.11.01
954 마이크로프로세서 HOT적외선센서를 ADC로 변화하는 것에 대해 궁금합니다. 경마장 1292 2011.10.25
953 마이크로프로세서 HOTAVR용 연습도구7 견우7 1660 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.