Autor Tema: comunicacion red de pics  (Leído 2495 veces)

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

Desconectado zimanka

  • PIC10
  • *
  • Mensajes: 7
comunicacion red de pics
« en: 30 de Abril de 2006, 14:29:33 »
alguien me podria ayudar porfavor con una red entre pics uno maestro y tres esclavos el maestro se comunica por rs232 con un pc y los 3 pic esclavos por i2c o cualquier otro protocolo. en ccs con un 877 maestro y 3 16f873

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: comunicacion red de pics
« Respuesta #1 en: 01 de Mayo de 2006, 10:32:41 »
alguien me podria ayudar porfavor con una red entre pics uno maestro y tres esclavos el maestro se comunica por rs232 con un pc y los 3 pic esclavos por i2c o cualquier otro protocolo. en ccs con un 877 maestro y 3 16f873

zimanka dime, en qué necesitas ayuda puntualmente. 

¿En consejos sobre la comunicación? ¿en código? ¿en características del hardware?

En Microchip he visto tuna nota de aplicacion sobre el maestro de i2C pero está escrita en ensamblador, pero si entiendes la idea es simple adaptarla al C.  Además es muy similar a escribir datos en cualquier memoria i2C.

Muchas de estas cosas o protocolos uno los diseña a la medida de las necesidades de uno mismo, pudiendo iniciarse con algo simple hasta algo muy complejo que en algunos casos excede lo que realmente uno espera o necesita de una comunicación.

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 zimanka

  • PIC10
  • *
  • Mensajes: 7
Re: comunicacion red de pics
« Respuesta #2 en: 01 de Mayo de 2006, 17:46:43 »
Gracias....La verdad es que he intentado con muchos códigos....pero no me funciona en proteus...
En si lo que quiero realizar es una red entre pics con topología logica en anillo, es decir un TokenRing.

Mi problema  esta en el codigo pues el hardware es sencillo. Gracias

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: comunicacion red de pics
« Respuesta #3 en: 01 de Mayo de 2006, 23:22:35 »
Gracias....La verdad es que he intentado con muchos códigos....pero no me funciona en proteus...
En si lo que quiero realizar es una red entre pics con topología logica en anillo, es decir un TokenRing.

Mi problema  esta en el codigo pues el hardware es sencillo. Gracias

¿Topología lógica en anillo... y será topología física en estrella? jejeje me suena a LAN eso  :mrgreen:
Bueno,en Proteus me han comentado que algunas comunicaciones I2C no funcionan correctamente(no envia el acknowledge el esclavo).
¿que codigo es el que estas empleando? ¿podemos verlo?
Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
Re: comunicacion red de pics
« Respuesta #4 en: 02 de Mayo de 2006, 13:58:07 »
Hola Zimanka, si estás probando en proteus comunicación I2C con dos micros y rs232 no sigas.. no te funcionará. Fallos de proteus. Hace algún tiempo, un amigo estaba con eso mismo, varios micros por I2C y comunicación rs232 y nada... loco. Como no me fio un pelo del proteus, probé en proto y listo. Funcionó perfecto.

Así que imagina.. monta todo en una proto y prueba.

Saludos!!
Saludos desde Huelva (ESPAÑA)

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
Re: comunicacion red de pics
« Respuesta #5 en: 02 de Mayo de 2006, 15:26:41 »
Hombre Cuca cuanto tiempo, estuve buscando tu dirección de correo para decirte lo de los moderadores pero no la encontré. Revisa este enlace: http://www.todopic.com.ar/foros/index.php?topic=11394.0

Un abrazo Cuca.

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
Re: comunicacion red de pics
« Respuesta #6 en: 02 de Mayo de 2006, 16:09:59 »
Hola Pocher!!! Es cierto.. he estado offline por un tiempo, pero vuelvo a la carga!!
He picado en el enlace y me sale un error que dice:

"El tema o foro que estás buscando parece que no existe, o fuera de tus límites. "

Saludos y disculpas a zimanka por estos post que nada tienen que ver.
Saludos desde Huelva (ESPAÑA)

Desconectado zimanka

  • PIC10
  • *
  • Mensajes: 7
Re: comunicacion red de pics
« Respuesta #7 en: 02 de Mayo de 2006, 20:50:29 »

 :) si es muy similar a una LAN...lo importante es que sea una topología logica en anillo la fisica puede ser en estrella o en (bus como el I2C) pero en este caso es poner 1 maestro y 3 esclavos.

Primero intente con I2C para hacer la comunicación maestro esclavo con los siguientes codigos:

PARA EL MASTER

#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP
#use delay(clock=4000000)
#include <lcd.c>

#use i2c(MASTER, SDA=PIN_C4, SCL=PIN_C3,FAST,FORCE_HW)

void main(void)
{

      int buffer;

      delay_ms(1000);      //retardo, por si acaso no da tiempo al esclavo a "inicializarse" para
                           //poder esperar a la informacion que le puede enviar el master

      lcd_init();


      while(TRUE)
      {
         if((!input(PIN_A0)))
            {
               i2c_start();      //condicion de inicio
               i2c_write(0x08);  //direccion del esclavo con el que haremos la comunicacion

               i2c_write(5);  //enviamos un dato, p.e el entero 5
               i2c_stop();    //finalizacion de la comunicacion

               delay_ms(1000);   //introducimos retardo para que no este constantemte escribiendo

            }

         if((!input(PIN_A1)))
            {
               i2c_start();      //inicio
               i2c_write(0x08);  //direccion del esclavo

               i2c_write(6);     //enviamos un dato, p.e el entero 6
               i2c_stop();       //parada

               delay_ms(1000);

            }
      };
}


PARA EL ESCLAVO

#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP
#use delay(clock=4000000)
#include <lcd.c>

#use i2c(SLAVE, SDA=PIN_C4, SCL=PIN_C3, ADDRESS=0X08, FAST , FORCE_HW)


void main(void)
{

      int dato;

      lcd_init();
      lcd_putc("Esperando");

      while(TRUE)
      {
         //i2c_poll solo se puede usar por hardware, detecta un byte en el buffer
         //seguidamente se llama a la funcion i2c_read que devolvera el byte recibido ó 5 ó 6

         if(i2c_poll())
            {
               dato=i2c_read();
               lcd_putc("\f");
               printf(lcd_putc,"El dato es el %i",dato);
            }

      };
}


En proteus no funciono, sin embargo talves si ustedes saben como podria aumentar la cantidad de esclavos donde la comunicación sea en serie entre si como un anillo lógico utilizando RS232?....como  empleo en el codigo tres esclavos y un solo maestro?....esta bien el codigo?...

Gracias....por decirme lo de proteus...pero bueno lo estare armando en protoboard...

Gracias  :lol:



 

anything