TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: mrmy en 25 de Septiembre de 2006, 13:57:05
-
Saludos a todos, mi rpoblema es que necesito leer datos de una misma memoria con dos pics diferentes, el programa corre bien separadamente pero en el momentos de conectar todo uno de los dos pics se traba, la memoria que utilizo els la 24clxx. Por favor si alguien me puede indicar como hacer la conexion. Gracias.
-
Saludos a todos, mi rpoblema es que necesito leer datos de una misma memoria con dos pics diferentes, el programa corre bien separadamente pero en el momentos de conectar todo uno de los dos pics se traba, la memoria que utilizo els la 24clxx. Por favor si alguien me puede indicar como hacer la conexion. Gracias.
mrmy ¿Podrías contarnos si la memoria es i2c o spi?
Además ,
¿quién decide cuando acceder a la memoria? ¿ambos cuando se les ocurre? o hay algun tipo de "arbitración" de cuando uno accede el otro no?
¿Cómo es el esquema de conexión?
-
hola maunix gracias por responder, uso las memorias i2c , un pic es de configuraion de tiempo y temperraturay los graba en la memoria, y el otro pic lee los datos de la memoria y empieza el conteo y activa un quemador, es decir si el uno trabaja con la memoria el otro tiene que esperar, la conexion no tengo idea pero yo les conecté uniendo la linea scl de los dos pics y le conecte a la memoria, de igual maneracon el sda. pero como ya dije se me traba uno de los dos.
-
¿Te has asegurado que los dos pic's no usen la memoria a la vez?
Suerte!!! :wink:
-
Si, por lo menos en el programa no utilizan la memoria al mismo tiempo.
-
Si, por lo menos en el programa no utilizan la memoria al mismo tiempo.
Tiene que ser algo en tu código. Es perfectamente factible usar 2 pics y una misma memoria.
Fijate si al dejar de usar un pic la memoria , liberas el bus.
¿Tienes osciloscopio?
¿Qué te asegura que en el programa no utilicen la memoria al mismo tiempo si casualmente son 2 pics corriendo cada uno su programa?
-
Nosera que estas dejando un potencial en los pines del microcontrolador 1 ya que es asi como trabaja el protocolo.
y lueo el otro micro va y hace una clase de corto.
Yo intentaria algo como cuando un micro este puesto el otro este en alta impedancia Z (Como entrada) y que haga el otro micro lo que debe de hacer.
Quizas deberias medir las tenciones y ver si hay un potencial en los pines y que estos choquen.
SUERTE
-
Nosera que estas dejando un potencial en los pines del microcontrolador 1 ya que es asi como trabaja el protocolo.
y lueo el otro micro va y hace una clase de corto.
Yo intentaria algo como cuando un micro este puesto el otro este en alta impedancia Z (Como entrada) y que haga el otro micro lo que debe de hacer.
Quizas deberias medir las tenciones y ver si hay un potencial en los pines y que estos choquen.
SUERTE
pantera todo eso que dices lo hace el pic solo. Tiene implementado el i2c por hardware y sus salidas son open collector.
Se puede perfectamente cablear varios pics juntos, y 'ganará' el que ponga la tensión en bajo. En las hojas de datos de Philips está bien documentada como es la 'arbitración' cuando hay varios Masters en un mismo circuito.
Saludos
-
Sube el código para poder revisarlo...
Suerte!!! :wink: