Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

26/03/2009 #1


Dos puerto rs232 mediante 16f877
estoy aciendo un proyecto en el que necesito utilizar dos usart. uno es tan solo para leer, el otro es para escribir y para leer. el problemas es que este pic tan solo tiene un uart y no me lo permite. ¿Que solucion puedo tener? ¿utilizar un multiplezador? ¿ hay alguna otra manera?.
26/03/2009 #2


si nos dices paraque necesitas dos micros podriamos aconsejarte mejor. .....
26/03/2009 #3


mi proposito es leer los datos que me envia un gps (mediante puerto serie rs 232 a 4800.....) y enviar sms y llamads mediatne un modulo gsm la información del gps y diversos avisos tambine por rs232 pero a 115.200..
26/03/2009 #4

Avatar de jalva

Me pregunto...

... y usar un serie tal cual trae el micro y otro emulado como se hace con los 16f84 (que no lo traen)...?

No se si funciona pero con intentar...
27/03/2009 #5


KUDOX_DANY dijo:
mi proposito es leer los datos que me envia un gps (mediante puerto serie rs 232 a 4800.....) y enviar sms y llamads mediatne un modulo gsm la información del gps y diversos avisos tambine por rs232 pero a 115.200..
Utiliza un MUX 2 a 1, deja siempre seleccionado el canal que te interesa más que es el del GSM me supongo, y solo lee el GPS cuando lo necesites, cada que cambies la dirección del MUX tendrias que cambiar la velocidad de la UART. Yo utilicé un 74LS157 para el multiplexado.
27/03/2009 #6


me parece buena idea el simularlo ( usart por software). pero tengo algun problema con como se deberia de hacer el codigo. alguien lo a utitizado alguan vez? lo de multiplexar me parece una opcion pero de momento voy a probar a utiliazarlo por software.
27/03/2009 #7


Si lo haces por software recibe por RB0 para que cuando comience a llegar el dato este sea captado por la INT de RB0 y así no se pierdan datos.
02/04/2009 #8


Una vez hice andar dos UART a la vez en un 16F628. Uno es el que trae implementado por hard que se interrumpe cuando llega un dato y el otro lo implementé por software y utilizé RB0 como entrada (RX) parar poder utilizar la interrupción cuando recibe un dato.
Implementar una UART por software es sencillo, solamente tenés que tener un control de los tiempos que depende de la velocidad del puerto. Por ejemplo, si es a 9600bps el bittime es de 104 microsegundos entonces lo que tenés que hacer es, una vez activada la interrupción en RB0 el primer bit que entra va a ser el de start entonces muestreás medio-bittime después para asegurarte que esté en 0 y a partir de ahí chequeas cada un bittime si es 1 o 0. Así 8 veces seguidas (hasta formar el byte) después va a venir el bit de stop que tiene que ser un 1, si no es un 1 entonces hay error y empezás de nuevo.

Espero haber sido claro.
03/04/2009 #9


Lo mejor es utilizar el mikrobasic o mikroC para pic u otro micro, este trae ya las librerias hechas y hasta con ejemplos y entre ellos tiene la uart por hard y la otra por soft.

suerte!
03/04/2009 #10


no tendreis ningun ejemplo de como se podria implementar un uast por software con interrupciones?. he intentado hacerlo y lo que recibo es un dato guardado, 2 datos perdidos, un dato guardado, 2 datos pedidos, etc etc
03/04/2009 #11


Si buscás en google vas a encontrar mucha información, inclusive en este mismo foro ya se ha hablado del tema.
Algunos links:
Comunicacion Serial PIC 16F84-A
Rutina de comunicacion RS232 con PIC16F84

También tenés la AN555 de Microchip explicando como implementar un Uart por software:
http://www.microchip.com/stellent/id...pnote=en011045

Otros link interesantes:
http://crysol.inf-cr.uclm.es/es/node/689
http://tams-www.informaciónrmatik.un...brown-fox.html
03/04/2009 #12


todo esto esta muy bien pero abla en ensamblador, yo necesito C . Gracias
03/04/2009 #14


KUDOX_DAN

Bueno te voy a dar la pagina de microc de mikroelectronica, este tiene ya implementado una libreria que tiene por hard y otra por software, no se que esperas para utilizarlo, o si lo que planeas es hacerla tu mismo pues te recomiento que busques en google algo parecido a usar for pic, uart for pic http://www.mikroe.com/en/compilers/mikroc/pro/pic/

EDITADO

Suerte y sino sigue buscando.
03/04/2009 #15
Moderador general

Avatar de Andres Cuenca

oscareev, sigue al pie de la letra las normas de participación de la comunidad, es indispensable para poder participar:

2.9 Los usuarios no pueden publicar, solicitar ni difundir información que promueva el plagio, la piratería, la divulgación de números de serie, crack o similares, o copias no autorizadas de material protegido por derechos de autor.
04/04/2009 #16


mil disculpas, no vuelvo a publicar referencias en contra de las normas del foro.
25/04/2009 #17

Avatar de jalva

oscareev, KUDOX_DANY, Sres:

He intentado hacer un programa con mikropascal 8.1 sobre un 16F648A que posea 2 seriales, uno por el uart físico que posee el micro y otro emulado.
Lo he probado con el proteus 7.4 sp3 , con Pic simulator IDE 6.65 y armando el circuito, ver proteus.jpg y oshon.jpg
El circuito en .DSN para emular está en proteus.zip.
En vtoVirtual.zip está el proyecto en Mikropascal.

El programa funciona de la siguiente forma:
Al encender emite por cada puerto serie un string, en el caso del uart físico emite "Real:", por el serie emulado emite un "Virtual:".
En caso de recibir un dato por el rx de un puerto lo devuelve por el tx del mismo puerto y por el otro tx y viceversa.

Los resultados que obtuve:

En proteus funciona el puerto virtual en tx y rx, el real solo funciona la tx (solo bufferea 2 caracteres, lo cual es un defecto del proteus)

En Pic Simulator Ide funciona el Real en tx y rx , el virtual funciona solo tx.

hasta acá los resultados son contradictorios... entonces

Armé el circuito y funcionó como la simulacion de Pic simulator IDE ( lo cual fué una doble decepción ya que el proteus no emuló correctamente y en la realidad tampoco funcionó como esperaba.

Seguiré buscando como hacerlo... si alguien tiene alguna idea, será muy bien recibida.


Definiciones
Rx recepcion de dato desde la pc
tx transmision de dato hacia la pc

Jalva...
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.