Autor Tema: Otra RS232 con picbasic(serin)  (Leído 13089 veces)

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

Desconectado gio

  • PIC10
  • *
  • Mensajes: 27
Otra RS232 con picbasic(serin)
« en: 25 de Julio de 2007, 20:47:01 »
Estoy en un proyecto manejando servomotores, lo que quiero hacer es enviar los datos por el puerto en serie de la posicion de los servos, bueno esno es el problema el problema es que la instruccion SERIN se ejecuta en el pic pero no deja segir con el programa hasta que no le envie los datos y como los servos se deven de estar refrescando continuamente se queta en esa intruccion y no deja segir, en la intruccion encontre un parametro que dise time&&& el cual sirve para eso pero dela forma que lo coloque me marca error si alguien tiene un ejemplo o alguna otra forma de hacerlo se lo agradesco.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Otra RS232 con picbasic(serin)
« Respuesta #1 en: 26 de Julio de 2007, 11:03:01 »
Alguien que nos mueva este tema al subforo de Basic.

Y Gio si usas un Pic que cuente con modulos serie via hardaware tu problema se solucionara si usas el comando HSEROUT y HSERIN
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado RALF2

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Otra RS232 con picbasic(serin)
« Respuesta #2 en: 26 de Julio de 2007, 13:58:31 »
HOLA GIO!
ESE PROBLEMA LO PUEDES RESOLVER UTILIZANDO INTERRUPCIONES DE FORMA TAL, QUE CUANDO EL PIC DETECTE UNA RECEPCION EN CURSO ESTE SALTE A UNA SUBRUTINA DONDE LEA EL DATO QUE LE LLEGA Y LUEGO ACTUALICE LA POSICION DE LOS SERVOS!!

ESO EVITARIA QUE LOS SERVOS PIERDAN LA POSICION LO OTRO QUE TE RECOMIENDO ES QUE UTILICES UN CRISTAL DE 20MHZ PARA QUE EL PROGRAMA SE ACTUALICE LO MAS RAPIDO POSIBLE Y LOS SERVOS NO PIERDAN SU POSICION!  :mrgreen:

SALUDOS.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Otra RS232 con picbasic(serin)
« Respuesta #3 en: 26 de Julio de 2007, 16:07:06 »
Amigo Ralf2, según las Reglas del Foro especifican "No escribas todo en MAYÚSCULAS. Evita también los caracteres especiales, los "!!!!!",  los "¿?¿?¿?" y otras filigranas en los títulos para llamar la atención;" Te ruego que la tomes en cuenta.

Que tengas un feliz estancia entre nosotros. Gracias y un saludo.

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado gio

  • PIC10
  • *
  • Mensajes: 27
Re: Otra RS232 con picbasic(serin)
« Respuesta #4 en: 01 de Agosto de 2007, 20:58:05 »
vien ya lo resolvi y me queda asi

INCLUDE ""modedefs.bas"

SI   VAR   PORTA.0
pos   VAR   BYTE
portb   =   %00000000
trisb   =   %00000000
trisa   =   %00000001

pos   =   0


LOW   PORTB.0
PAUSE   250

start:
   PULSOUT   PORTB.0,pos
   SERIN   SI,N2400,20,nx, #pos
nx:   GOTO   start
END

vueno aora el problema es que solo me permite 193 pasos aprosimadamente y cuando programo en ensamblador los 256 pasos pero no puedo leer en ensamblador el puerto serial por eso lo hago en picbasic, aora lei y me parese que si aumento el cristal aumenta la resolucion del servo, pero le puse uno de 20 mhz y ya no me lee el puerto serial ni subiendo la velocadad de transmicion, alguna opcion, sale gracias por sus posts

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Otra RS232 con picbasic(serin)
« Respuesta #5 en: 02 de Agosto de 2007, 11:46:46 »
Y cuando metiste el crsital de 20 tambien lo definiste en el programa, DEFINE OSC 20 y yo insisto, si para ti es mejor usar el hardware serie usa el comando HSERIN y HSEROUT
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado gio

  • PIC10
  • *
  • Mensajes: 27
Re: Otra RS232 con picbasic(serin)
« Respuesta #6 en: 07 de Agosto de 2007, 13:44:37 »
no, no me funciona el hserin no entran ni los datos en el 16f84 con el serin masomenos ingresava los valores pero el que voy a utilizar es el 16f877 y ai no me ingresa nada, no se si tienes un ejemplo podrias postearlo pofa porque no lo puedo solucionar, otra que vi es que en unos sircuitos no utilizan un acoplador de señal y en otros si que seria el MAX232 No se si es lo mismo con el o sin el

sale saludos..

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Otra RS232 con picbasic(serin)
« Respuesta #8 en: 07 de Agosto de 2007, 14:28:06 »
Si mira:


1.-Priemro verifica que tus PIcs soportan cristales de 20MHZ

2.-El comando SERIN es un comando que emula via software la comunicacion serie, por lo cual cualquier PIC es capaz de usarlo.

3.-El comando HSERIN se refiere al uso del Hardware Serie del PIC, lo cual hace que soo algunos modelos lo inlcuyan; el 16F84 no posee hardware serie -¿como sabes cuales si y cuales no? leyendo sus datasheets-

4.-El uso del Max232 segun yo entendi ya hace rato es para acoplar los niveles de voltaje y garantizar la transmision entre un PC y el PIC, cuando comunico mi PC con el PIC yo lo uso, cuando comunico 2 PIC's entre si no lo uso.

5.- Los mejores ejemplos sobre el uso del uso del hardware serie los puedes encontrar en Rentron y usando el buscador del foro.

Saludos
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado gio

  • PIC10
  • *
  • Mensajes: 27
Re: Otra RS232 con picbasic(serin)
« Respuesta #9 en: 09 de Agosto de 2007, 01:52:33 »
Hola de nuevo con otra duda estoy armando el circuito del max232 pero de cunto deven ser los 4 capacitores, en todos los circuito que e visto en los buscadores todos los manejan diferentes, cual recomiendas... sale gracias..

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Otra RS232 con picbasic(serin)
« Respuesta #10 en: 09 de Agosto de 2007, 03:48:10 »
5.- Los mejores ejemplos sobre el uso del uso del hardware serie los puedes encontrar en Rentron y usando el buscador del foro.

Hola de nuevo con otra duda estoy armando el circuito del max232 pero de cunto deven ser los 4 capacitores, en todos los circuito que e visto en los buscadores todos los manejan diferentes, cual recomiendas... sale gracias..

Utiliza estos:
http://www.rentron.com/PicBasic/MCS_X3.htm

Recuerda que deben ser de mas de 10 volts (de preferencia) por que utilizarás el MAX232 (niveles de voltaje).
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado palmas5678

  • PIC10
  • *
  • Mensajes: 6
Ayuda para hacer un codificador
« Respuesta #11 en: 28 de Agosto de 2009, 23:46:55 »
Saludos amigos, he realizado un proyecto sencicllo usnado modulos rf de alcance 100 metros, use también el code HT12E y el deco HT12D, para enviar a traves del code un "1" (5 voltios) y luego un "0" cero voltios, por el mismo pin, de tal manera que el el deco (luego del receptor) realice una acción otro circuito y luego se detenga. Mi problema es que hace varios meses que no encuentro estos modulos code, y que llegará el proximo año. Por favor, quiero reemplazar estos codec por programa en pic 16f84; de tal manera que accionado un boton pulsador (un puerto) envíe al modulo rf un "1" y soltándolo envíe un "0", pero nunca he trabajado con el envío de data en serie. Usando el serin y el serout. Por favor, necesito alguna ayuda o sugerencia. Gracias.
palmas

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: Otra RS232 con picbasic(serin)
« Respuesta #12 en: 29 de Agosto de 2009, 03:48:52 »
Revisa el indice de este hilo:

http://www.todopic.com.ar/foros/index.php?topic=14917.0

Busca:

"TRABAJANDO CON COMUNICACION POR RF, MODULOS DE TX Y RX DE AUREL Y LAIPAC"
Saludos desde Granada, España.

Desconectado wilfo

  • PIC10
  • *
  • Mensajes: 7
Re: Otra RS232 con picbasic(serin)
« Respuesta #13 en: 12 de Octubre de 2009, 15:58:39 »
Hola amigos , no se quien me podra ayudar con el siguiente codigo:
pbp
Desde visual Basic en vio lo siguiente a mi pic16f628a:
Mscom.output="125"

programa del pic:

dato var byte

inicio:
serin portb.0,n9600,dato
pause 100
serout portb.0,n9600,[dato]

Problema:
Al parecer el pic solo recibe el primer valor osea "1" ..porque a mi pc llega el número 1 y no 125.Es que necesito que me lleguen los 125 para poder controlar el servo...

Alguien tiene la solución frente a esto?

Desconectado jansuini

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 566
Re: Otra RS232 con picbasic(serin)
« Respuesta #14 en: 13 de Octubre de 2009, 13:27:05 »
Hola:
Muy sencillo ,cuando vos mandas el numero 123 realmente estas mandando 3 bytes ,el 1 ,el 2 y el 3 ,asi que deberias almacenarlo en 3 variables .
No se para que vas a usar tu probgama ,pero proba con esto:

dato var byte
dato1 var byte
dato2 var byte

inicio:
serin portb.0,n9600,dato ,dato1,dato2
pause 100
serout portb.0,n9600,[dato,dato1,dato2]
goto inicio


 

anything