Autor Tema: Warning al simular  (Leído 1843 veces)

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

Desconectado poi

  • PIC10
  • *
  • Mensajes: 20
Warning al simular
« en: 02 de Junio de 2009, 15:08:12 »
Hola. Estoy intentando simular un sircuito simple que envia un bit de sincronizacion a otro PIC y espera a que este le evuelva el bit para poder empezar a enviar datos.
El problema esque no sale. Envia el primer bit de sincronizacion pero el otro PIC se queda en un bucle esperandolo y nunca sale para devolver el segundo bit.
En proteus, al enviar el primer bit por el bit 0 del puerto A, no se pone el cuadradito rojo si no que se pone amarillo.
¿Puede ser por eso?
Os dejo el codigo y el warning
Código: [Seleccionar]
;************************************** Enviar.asm **************************************


__CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST    P=16F84A
INCLUDE  <P16F84A.INC>

CBLOCK 0x0C
ENDC

; ZONA DE CÓDIGOS ********************************************************************

ORG 0
bsf STATUS,RP0 ; Pone a 1 el bit 5 del STATUS.
movlw b'00010' ; Las líneas del Puerto B
movwf  TRISA
clrf TRISB
bcf STATUS,RP0 ; Pone a 0 el bit 5 de STATUS. Acceso
clrf PORTA
clrf PORTB

Sincronizacion
bsf PORTA,0
call Retardo_1s
bcf PORTA,0
Espera
BTFSS PORTA,1
bsf PORTA,3
goto Espera
bcf PORTA,3

Enviar
bsf PORTA,0
call Retardo_100ms
bcf PORTA,0
call Retardo_100ms
goto Enviar

sleep

INCLUDE  "RETARDOS.INC"
END ; Fin del programa.


Código: [Seleccionar]
;************************************** Recivir.asm **************************************


__CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST    P=16F84A
INCLUDE  <P16F84A.INC>

CBLOCK 0x0C
ENDC

; ZONA DE CÓDIGOS ********************************************************************

ORG 0

bsf STATUS,RP0 ; Pone a 1 el bit 5 del STATUS.
movlw  b'1000000'
movwf  TRISB ; Las líneas del Puerto B
clrf TRISA
bcf STATUS,RP0 ; Pone a 0 el bit 5 de STATUS. Acceso
clrf PORTB
clrf PORTA

Inicio
BTFSS PORTB,7 ;Espera a que el puerto 6 sea 1 ;mientras parpadea el puerto 3
bsf PORTB,3
call Retardo_50ms
bcf PORTB,3
call Retardo_50ms
goto Inicio
bcf PORTB,3

bsf PORTB,6
call Retardo_1s
bcf PORTB,6

sleep
INCLUDE  "RETARDOS.INC"
END ; Fin del programa.


y el error que da es:
Logic contention detected on net #00009

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6759
Re: Warning al simular
« Respuesta #1 en: 02 de Junio de 2009, 15:37:13 »
En el PIC receptor esta mal configurado TRISB:
Citar
movlw  b'1000000'
Faltaría un cero, y esto puede estar colocando un 0 en el bit 7 que lo necesitas como entrada.

Después, esto nunca se ejecutaría?
Citar
bcf PORTB,3
   
   bsf   PORTB,6
   call Retardo_1s
   bcf PORTB,6

Como piensas hacerlo?
« Última modificación: 02 de Junio de 2009, 15:40:09 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado poi

  • PIC10
  • *
  • Mensajes: 20
Re: Warning al simular
« Respuesta #2 en: 02 de Junio de 2009, 17:03:50 »
Gracias. Ya lo habia conseguido, si era eso que decias. Ya he conseguido comunicarlos. Se nota que soy un principiante no...