TODOPIC
FORO TÉCNICO => Telefonía, GPS y Microcontroladores => Mensaje iniciado por: roberfm87 en 23 de Marzo de 2009, 08:13:37
-
Mi problema es que se comunicar un PIC a un modem vía RS232 y al PC igual...
Pero como lo hago a la vez? Es decir... si uso las RX y TX del PIC para que vayan al módem (vía RS232) y mande un sms según una orden del PIC.... ¿Cómo hago para que a la vez el pic transfiera información al PC?
Había pensado en algo así como un relé que me cambie las RX y TX para el módem y luego para el PC. ¿Qué opinais?
-
Puedes utilizar un PIC con dos USART, o en caso que sólo tenga una, utilizar la física para el modem y crear una usart virtual mediante el firmware para el PC.
-
O tambien usar RS485
-
Aquí pongo un esquema de como comunicar PIC con PC usando RS485...
http://www.mikroe.com/en/books/picbasicbook/05/rs485.gif
Pero... ¿en que lineas engancho yo el módem en ese esquema? La cuestión es que los comandos que voy a mandar al PC serán diferentes que los que voy a enviar al módem... El PIC con el trabajo es 18LF4620 y yo juraría que dos USART no tiene.
¿alguna idea?
-
Hola, se me ocurren estas 3 opciones:
- En vez de un rele usar un multiplexor/demultiplexor tipo el 4052
- Usar un micro con 2 UARTS integradas
- Usar un micro con una UART y la otra simulada por software
Saludos !
-
Jaja, qué original, Richi :)
-
Perdon Maestro, de idiota pase por alto sus sugerencias. Sepa disculparme
Saludos !
-
Anda, anda, que estoy de broma :D
-
:lol:
Saludos !
-
Parece que roberfm87 no maneja ccs ya que, al parecer, paso por alto tu sugerencia manolo. Y digo esto porque en asm debe de ser horrible crear una usart por software xD Y cuando intente hacerlo por c18 encontre algunas librerias (creo que n el foro de mchip) pero sin funcionarme alfinal, o almenos no la velocidad que yo queria :(
Suerte.
-
Nunca programé en CSS, tan solo tengo experiencia en ensamblador con MPLab y un pic de gama media....
¿Creen que si trabajo con MPLAB y C18 y programo el PIC18F650 (tiene 64 pines) que dispone de dos USART, será demasiado difícil para alguien que se inicia en C para pics?
La opción de hacerlo por software no tengo ni idea... entonces ¿creen que será mejor usar el pic con dos USART? xDD
Una ayudita XDD
-
Hola.
El C18 tiene unas librerias para crear USART software, a mi nunca me dieron lata, pero .... es muuuucho mas sencillo de hacer en CCS eso si que nada que comparar (el CCS es muy bueno para empezar). Yo te recomendaria que intentaras hacerlo en CCS, hay un ejemplo que el mismo CCS lo trae: EX_ENCRY.C.
Saludos
-
Es decir, que su recomendación es que trabaje con el CCS (q lo puedo cargar en el MPLab por ejemplo) y sin necesidad de usar PIC con dos USART... puedo crear virtualmente otra USART.... ¿la idea sería entonces coger otras dos patas del circuito, definirlas como TX2 RX2 y aprovecharme de la ventaja de que el MAX232 también dispone de T2 y R2, no?
¿mejor que comprar un pic con dos USART en definitiva?
-
Sí tu aplicación sólo se va a dedicar a eso, lo mejor es que lo hagas con ese PIC y no inviertas en otro mayor. Si la capacidad de proceso de tu PIC está al límite y no te puedes permitir dedicarlo a gestionar la USART, piensa en buscar uno que tenga dos.
-
Ajá, gracias por la información... el que tenía pensado usar es el PIC18LF4620 que tiene 64Kybtes de memoria flash... monitorizaria unos nodos mediante transmision con otros modulos (un par de sensores en total na mas) vía inalámbrica (Zibgee). Si además le meto lo de la USART virtual, ¿iré sobrao de memoria???
-
Ahh otra cosilla... ¿ tendría alguna ventaja programar en C18 el pic18 frente al CCS? Salvo que alguien me convezca de lo contrario creo que me tiraré a CCS, ¿no?
-
Si recien enpezaras con los compiladores de c, pues si, almenos yo, te recomiendo usar el ccs si quieres terminar tu proyecto lo mas rapido posible.
Suerte.
-
Aqui hay algo que te puede servir
-
Hola,
Por nuestra experiencia te puedo decir que es comodo tener los dos tipos de conexion.
Nosotros hemos funcionado con una UART simulada (por software) con unos simples PIN del PIC y con la UART por HW que pueda llevar (evidentemente no tienen que coincidir los PINs).
No usaria el compilador de CCS. Tiene cosas que yo en 20 Años programando C no he visto hacer. Eso de cargar .C desde un #include haria que Kernighan & Ritchie se pegaran un tiro directamente. Esta bien que el PIC sea un entorno reducido, pero los de CCS se toman unas licencias a la hora de hacer las cosas que no son ni "medio normales".
Con otros compiladores (HITECH por ejemplo) vas a tener que trabajar mas, pero aprenderas a usar C mas estandard, cosa que si cambias de compilador agradeceras enormemente.
Saludos,
Sir Graham.
-
CCS no es ANSI C. ;-)
-
Hola,
Si vale, que no sea ANSI C pero.... pero jo, es que no es ni C en algunas cosas.
Unos minimos si que se le pueden pedir. Que luego gente que no suele tratar con proyectos mas grandes hace unas cosas aberrantes...
(muy tipico, por cierto, de "electronicos" que se meten en programacion. Y que coste que yo he estudiado electronica y que no se puede generalizar por
que siempre hay gente que lo hace muy bien).
Si uno que se mete el tema de la programacion (sin mucha experiencia) y solo ve cosas que tiene que hacer con el CCS, luego coje unas malas constumbres "bastante importantes".
Me toco en su momento, "recojer" un proyecto realizado con el CCS. A eso se le unio que el que lo hizo no tenia mucha idea de programacion (vamos que solo habia usado el Visual Basic y poco mas). Al principio el tema era sorpresa. Ya luego era reirme por no llorar.
Vamos que ese codigo no tendria muchas posibilidades de ganar un Jolt Award. El CCS contribuyo mucho a esto.
Deciros que el proyecto (muy pequeño, 1500 lineas) salio mas a cuenta re-hacerlo de nuevo que intentar "desencriptar" el codigo fuente existente.
Es un comentario, no mas.....
Saludos,
Sir Graham.