Autor Tema: uart a 38400 bps  (Leído 9453 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #15 en: 10 de Mayo de 2007, 17:51:14 »
aaaaaaaaaaarrrrg,tenias razon me equivoque de cable al conectar a masa,y solo tenia conectador rx y tx.

ya decia yo que el mismo programa lo vi funcionando bien.que perdida de tiempo.perdon,pero porfavor aclarame lo del trisc,no lo entiendo.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #16 en: 10 de Mayo de 2007, 17:59:58 »
ah,la interrupcion la uso ,por que mientras el rx no reciva ningun dato el pic esta enviando constantemente unos caracteres al pc.y cuando toque una tecla en el pc ,el codigo ascII aparece el el portb.solo es una forma se saber que el pic esta funcionando.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: uart a 38400 bps
« Respuesta #17 en: 10 de Mayo de 2007, 20:38:56 »
porfavor aclarame lo del trisc,no lo entiendo.

Fíjate en el datasheet.  En los 16F ambos bits del tris deben estar en 1 para que sean configurados como "pines de usart".   Esto no es así en los 18F.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #18 en: 11 de Mayo de 2007, 10:20:27 »
con mi ingles-indio.me ha parecido ver que es asi.pero a mi me esta funcionando el tx y el rx.claro que no se si en el tiempo de ejecucion,pudiera tener algun conficto con otros sistemas perifericos integrados.

realmente que sistema puede influir el el incorrecto funcionamiento al dejar los bits,como los tengo?.solo por curiosidad. y ganas de aprender ,por supuesto.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: uart a 38400 bps
« Respuesta #19 en: 12 de Mayo de 2007, 12:05:38 »
realmente que sistema puede influir el el incorrecto funcionamiento al dejar los bits,como los tengo?.solo por curiosidad. y ganas de aprender ,por supuesto.
La verdad no lo he probado de la forma 'mal', simplemente hago caso a lo que dice le fabricante.

En este punto, de los bits del TRISC<7:6> es muy insistente en todas las datasheet de los 16F, en las notas de aplicacion y en su foro.

No hay detalles de qué puede funcionar mal o no, ya que sería conocer cómo es la microelectrónica del PIC pero sí te puedo confirmar que es un tema bastante conocido del cual jamás vi indicación en contrario como para hacer o recomendar un seteo como lo haces tu.

En los 18F sí es así como dices, pero los 18F son otra arquitectura.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #20 en: 13 de Mayo de 2007, 14:03:06 »
bueno pues todo bien,he logrado comunicar un gps,el holux gr236bt por el puerto serie al pic a 38400.para eso he tenido que poner al pic un crystal de 3.579545MHz

que es el que tenia a mano,pero ya le pondre el sullo de 3.6864MHzpara que tenga menor margen de error.

luego he hecho un pequeño programa para que me localize la sentencia NMEA que me interesa.y funciona,ahora me queda coger la parte de la latitud y longitud,para meter los datos en los registros de proposito general.y luego leerlos con un lcd.

vamos a ver cuanto me cuesta. :-)
 
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: uart a 38400 bps
« Respuesta #21 en: 17 de Mayo de 2007, 09:05:16 »
groundman, me pone muy contento que lo estes haciendo andar... y ya ves que el cristal no es lo más importante... lo más importante es tu código.   :mrgreen: :mrgreen:
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #22 en: 01 de Junio de 2007, 19:44:28 »
hola de nuevo maunix.
por un tiempo he tenido que dejar medio parado el proyecto.por motivos de tiempo,y aunque el cristal de 3.579545 Mhz funciono.pedi el de 3.6864 Mhz.
asi supongo que ira mejor.

de todos modos esos problemas ya no los tengo,pero tengo otros un poco mas gordos,porque no se pa donde tirar.

el problema es el siguiente:

veras,tengo comunicacion desde el hiperterminal al pic,y desde el gps al hiperterminal,y todo va correcto.
he hecho un programa que busca las siguientes pulsaciones de tecla del ordenador ,son:   $GPGGA,XXXXXXXXXX,NNNNNNNNN,X,NNNNNNNNNN,,,,,,,,,,,,
para luego visualizarlos en un display.

donde N son las coordenadas de longitud y latitud, el $GPGGA es el comando NMEA como tu ya sabes,y las comas son para que el programa las detecte del gps,y el pic vuelva a buscar de nuevo el siguiente comando.
este programa solo busca este comando ya que contiene los unicos datos que me hacen falta para el proyecto.

ahora bien,cuando yo tecleo estos caracteres desde el hiperterminal ,simulando que fueran los que el gps saca por tx,hacia el pic.
en el display salen perfectamente;
pero si lo que hago es conectar la salida tx al pic,para que salga los datos por el display.entonces no sale nada.

es como si los datos que proporciona el gps,no fueran los mismos que se ven en el hiperterminal.

mi pregunta es:
son realmente las tramas que proporciona el gps,igual que las que lee el hiperterminal? o hay algun caracter de control entre caracteres que envia el gps?

como si $GPGGA  fuera $xGxPxGxGxAx,x......etc. o $$GGPPGGGGAA,, ? no se que pensar. :(
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #23 en: 02 de Junio de 2007, 07:57:09 »
hola.he hecho un circuito que manda por tx los siguientes datos en ascii

$GPGGA,220396.000,3914.1575,N,00440.7307,W,1,05,4.6,261.2,M,49.4,M,,0000*40

y si lo conexto al al pictrainer por rx del pic,los datos me salen por el display.
pero si conecto el tx del gps al pictrainer,no sale nada.

bueno,voy ha hacer mas pruevas ya que la trama escrita arriva va en orden,y como el gps entrega los datos en serie todos mezclados;
a lo mejor ese es el problema.voy a probar.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #24 en: 02 de Junio de 2007, 11:31:53 »
definitivamente,no se lo que pasa.he metido esta trama en el pic emisor 4$GPGGA,220396.000,3914.1575,N,................
al pictrainer que tengo el pic receptor.

y efectivamente el programa que he desarrollado funciona a la perfeccion,no ha tenido en cuenta el 4 que va delante de $.
ya que este lo que busca solo son las tramas que empiezan por $GPGGA ,pero no funciona al leer las tramas del gps.

o los caracteres que envia el gps al hiperterminal,aunque los veamos como$GPGGA,no sean caracteres ASCII que pertenezcan a las tablas standar o no se lo que pasa.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: uart a 38400 bps
« Respuesta #25 en: 02 de Junio de 2007, 14:34:18 »
groundman a ver si te entiendo.

Cuando conectas el PC al GPS, ves en el hyperterminal lo que se envía al GPS , pero cuando conectas el PIC a la PC y "simulas con el hiperterminal" que eres el GPS, no sale nada? ¿Es esta tu duda?
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #26 en: 02 de Junio de 2007, 15:53:58 »
bueno realmente lo que veo el el hiperterminal son las tramas que envia el gps.
ejem.   $GPGGA,143748.808,3345.1464,N,00457.6333,W,0,00,,234.6,M,49.4,M,,0000*626383,W,..............

y     cuando simulo con el hiper al gps.el pic si recive las tramas.

es mas he hecho un cicuito que simula un gps,y este envia las tramas a otro circuito que las recive y va perfectamente.     

el problema esta cuando conecto el gps al circuito que las recibe.que no reconoce las tramas.                                                                                                     

no entiendo como no funciona, si los caracteres son los mismos.o almenos son los que veo en el hiperterminal. :?
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: uart a 38400 bps
« Respuesta #27 en: 02 de Junio de 2007, 20:56:16 »
el problema esta cuando conecto el gps al circuito que las recibe.que no reconoce las tramas.             
¿podrias subir un gráfico simple de como es la interconexión de los dispositivos? realmente estoy mareado  :?                                                                                       

no entiendo como no funciona, si los caracteres son los mismos.o almenos son los que veo en el hiperterminal. :?

Tal vez haya algún retorno de carro , un retorno de línea o ambos que faltan en uno u otro.  Esto no lo puedes ver con el hyperterminal porque es un editor solo ascii y los caracteres mencionados lo que hacen es ir a la linea siguiente.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #28 en: 03 de Junio de 2007, 11:04:38 »
ok.haber si soluciono un problema que se me ha presentado,y lo pongo un poco mas claro.

es que resulta que en el programa.tengo en parte estas lineas:
KEY_TABLA   
                     movf   KEY_1,W
                     addwf   PCL,F
         
                     retlw    "$"
                     retlw    "G"
                     retlw    "P"
                     retlw    "G"
                     retlw    "G"
                     retlw    "A"
y se ve que si salto con un call a esta direccion,desde una direccion de mas de 255 bytes.
al guardar en el SP la direccion de retorno.
el programa me salta a una direccion que no le corresponde,como soluciono esto?.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: uart a 38400 bps
« Respuesta #29 en: 03 de Junio de 2007, 16:54:55 »
BUENO,YA LO HE SOLUCIONADO CON ESTO:

SECTOR_000   MACRO
      BCF   PCLATH,0
      BCF   PCLATH,1
      ENDM
SECTOR_100   MACRO
      BSF   PCLATH,0
      BCF   PCLATH,1
         ENDM
SECTOR_200   MACR
      BCF   PCLATH,0
      BSF   PCLATH,1
      ENDM
SECTOR_300   MACRO
      BSF   PCLATH,0
      BSF   PCLATH,1
      ENDM

se ve que aunque no salgamos de la pagina 0 o 1 o la que sea,si se modifica el pcl,como este solo abarca 255 direcciones.
pues hay que conmutar los 4 sectores de la pagina donde estemos. :lol:
Montando mi primera impresora 3D (Raprep Prusa i3)


 

anything