Autor Tema: Problemas de conexion con gps mt3339 y pic 18f2550  (Leído 994 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado frahous

  • PIC10
  • *
  • Mensajes: 1
Problemas de conexion con gps mt3339 y pic 18f2550
« en: 19 de Agosto de 2015, 23:30:55 »
Bueno ante todo un saludo, mi duda es si hay alguna forma de eliminar el ruido producido en un ttl, Tengo el gps mt3339 (alphamicrowireless.com/media/433544/gtop%20module%20application%20note%20-a00%20_mt3339%20series_.pdf) y el detalle es que trate de conectarlo al rx del pic18f2550 pero a un principio no pasaba nada, luego me di cuenta de que el gps trabajaba como maximo con 2.8 por lo que tube que tratar de amplificar el voltaje para lo cual utilice el 74hc08n y bueno me funciono pero a medias

Este es lo que en si deberia votar

Código: [Seleccionar]
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
$GPGGA,000103.799,,,,,0,0,,,M,,M,,*4D
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,000103.799,V,,,,,0.00,0.00,060180,,,N*47
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000104.799,,,,,0,0,,,M,,M,,*4A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,000104.799,V,,,,,0.00,0.00,060180,,,N*40
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

Código: [Seleccionar]
contenido de buffer: $GPGGA,000107.799,,,,,0,0,,,M,,M,,*49
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,1,1,00*79
$GPRMC,000107.799,V,,,,,0.00,0.00,060180,,,N*43
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
~X@VI–iF3Ô€¡â

contenido de buffer: $GPGGA,000107.799,,,,,0,0,,,M,,M,,*49
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,1,1,00*79
$GPRMC,000107.799,V,,,,,0.00,0.00,060180,,,N*43
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
~X@VI–iF3Ô€¡â

El codigo esta echo en ccs

Código: [Seleccionar]
#include <18f2550.h>

#fuses hs,cpudiv1,nomclr
#use delay(clock=20000000)

#use rs232(baud=9600, parity=N, bits=8, xmit=PIN_C6, rcv=PIN_C7, stream=conexiongps)
#use rs232(baud=9600, parity=N, bits=8, xmit=PIN_A0, rcv=PIN_A1, stream=debug_gps)


char buffergps[400]="esto es una prueba                                                           \0";
int posicionbuffergps=0;

#int_rda
void rd_isr(void)//función de interrupción por recepción de datos USART
{     
   buffergps[posicionbuffergps] = fgetc(conexiongps);
   posicionbuffergps++;
}

void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_CLOCK_DIV_2);
   //setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   
   

   enable_interrupts(int_rda);
   enable_interrupts(GLOBAL);
   output_high(PIN_B7);
   fprintf(debug_gps,"contenido de buffer:");
 
   // TODO: USER CODE!!
   while(1)
   { 
      if(posicionbuffergps>0)
      {
         buffergps[posicionbuffergps]='\0';
         fprintf(debug_gps,"contenido de buffer: %s\r\n",bufferGPS);             
         posicionbuffergps=0;
      }
   }

}

de ante mano agradecere cualquier respuesta

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Problemas de conexion con gps mt3339 y pic 18f2550
« Respuesta #1 en: 20 de Agosto de 2015, 03:13:39 »
Yo no veo que estes recibiendo mal, es mas estas recibiendo bien...

Si no entendi mal lo de arriba es lo que tenes que recibir, y lo de abajo es lo recibido. Yo veo todas las cadenas bien (comparandolas):

1ero:  $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
2do:   $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
         $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

1ero: $GPGGA,000103.799,,,,,0,0,,,M,,M,,*4D
2do:  $GPGGA,000107.799,,,,,0,0,,,M,,M,,*49
        $GPGGA,000107.799,,,,,0,0,,,M,,M,,*49

1ero: $GPRMC,000103.799,V,,,,,0.00,0.00,060180,,,N*47
2do : $GPRMC,000107.799,V,,,,,0.00,0.00,060180,,,N*43


Como ves son iguales, no les falta ningun caracter, solo que puede cambiar algun valor y su checksum. Pero aun asi me parece que tus datos llegan bien.

Te sugiero mirar por internet cual es el tamaño MAXIMO de un array en CSS, y que no sea ese tu problema.