Autor Tema: Error en simulacion.  (Leído 9582 veces)

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

Desconectado jmpmscorp

  • PIC10
  • *
  • Mensajes: 12
Error en simulacion.
« en: 19 de Junio de 2009, 01:42:17 »
Hola de nuevo señores.

Resulta que estoy realizando un pequeño programa para manejar un expansor de bus a 16 bits de I2C y no tengo problemas cuando ejecuto instrucciones para manejar los 8 bits del puerto A. Sin embargo cuando intento escribir los pines del puerto B, me sale el siguiente error:

Internal Exception:acces violation in module 'MCP23X17'.dll

Quisiera saber si ese error es por un problema en mi codigo fuente o es algun tipo de error en el dll del dispositivo. Si fuese por un error del dll ¿como podria solucionarlo?. Tengo el proteus 7.5 SP3.

Gracias y saludos.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Error en simulacion.
« Respuesta #1 en: 19 de Junio de 2009, 11:09:31 »
Hola.

El error te sale en modo debug cierto? ... es decir estas verificando el codigo paso a paso y cuando llega a ese punto ... chaaannn el error?

Saludos
El papel lo aguanta todo

Desconectado jmpmscorp

  • PIC10
  • *
  • Mensajes: 12
Re: Error en simulacion.
« Respuesta #2 en: 19 de Junio de 2009, 12:28:58 »
Buenas MLO.

Pues no, me salta el error cuando lo ejecuto en modo continuo. Lo probe con el proteus 7.2 SP0 y me salto el error. Pense que seria un error en las librerias del dispositivo e instale el 7.5 SP3 pero me sigue saltando el mismo error. Agradezco cualquier solucion. Muchas gracias.

Saludos.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Error en simulacion.
« Respuesta #3 en: 19 de Junio de 2009, 15:23:18 »
 :?

Pues pareceria error del la dll, a mi me suele salir pero en el modo debug paso a paso ... casi siempre por los tiempos de sincronizacion entre los componentes ...
El papel lo aguanta todo

Desconectado jmpmscorp

  • PIC10
  • *
  • Mensajes: 12
Re: Error en simulacion.
« Respuesta #4 en: 19 de Junio de 2009, 23:21:53 »
Hola de nuevo.

Os añado el codigo y la simulacion haber si alguien puede probarlo y le pasa lo mismo. Gracias.

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Re: Error en simulacion.
« Respuesta #5 en: 20 de Junio de 2009, 00:13:35 »
es extraño pero ya descargue la simulacion y solo funciona unos segundos y marca el mismo error que comenta aqui el compañero

Desconectado jmpmscorp

  • PIC10
  • *
  • Mensajes: 12
Re: Error en simulacion.
« Respuesta #6 en: 20 de Junio de 2009, 23:45:30 »
Por favor, alguien q tenga alguna version diferente, me podria decir si le funciona o le sale el mismo error?? Necesito poder simularlo antes de pasarlo a la PCB para saber si funcionara correctamente. Muchas gracias.

Desconectado Braulio

  • PIC12
  • **
  • Mensajes: 52
Error al escribir/leer Puerto E bit por bit
« Respuesta #7 en: 20 de Agosto de 2009, 01:45:14 »
Hola

Resulta que tengo un problema muy muy similar

Practicando con CCS+Proteus 7.5 SP3 en un 16F877 encontré el siguiente problema cada vez que utilizaba el Puerto E:



Internal Exception: access violation in module 'PIC16.DLL'

Probé el programa en una simulación exclusiva y aparte con un único PIC 16F877 y el problema continuaba.

Para estar seguro que el CCS no tenía nada que ver, escribí un pequeño codigo en ensamblador manejando el Puerto E exclusivamente y lo simulé, con lo cual pude constatar que el problema se repetía solo cuando se lee/escribe el Puerto E bit a bit, osea en instrucciones como:

bsf
bcf
btfsc
btfss


o cuando la operación involucra solo uno de los bits como:


movlw   0x01
xorwf   puertae,1


Esto lo pude ver ejecutando paso a paso el programa des-ensamblado: cuando llegaba a dichas instrucciones, el error saltaba... (que si le ejecutas de modo continuo obviamente de frente te muestra el error)

Sin embargo no ocurre ningún error cuando de golpe se modifica todo el registro PORTE (0x09), así por ejemplo:


movlw   b'10101010'
movwf   puertae


...
Aqui les adjunto el código de mi programa prueba donde todas las instrucciones precedidas con ; (como si fueran comentarios) ocasionan el problema antes mencionado...

Código: [Seleccionar]
list p=16f877a

trise equ 0x89
puertae equ 0x09

trisd equ 0x88
puertad equ 0x08

status equ 0x03

org 00

inicio

bsf status,5
movlw 0x00
movwf trise
movlw 0x00
movwf trisd
bcf status,5

movlw b'10101010'
movwf puertae

; movlw 0x01
; xorwf puertae,1

; bcf puertae,0
; bsf puertae,1
; bcf puertae,2


bcf puertad,0
bsf puertad,1
bcf puertad,2

nop`

goto inicio

end


Agradeceré mucho cualquier ayuda...

BRAULIO


PD:

:?

Pues pareceria error del la dll, a mi me suele salir pero en el modo debug paso a paso ... casi siempre por los tiempos de sincronizacion entre los componentes ...

MLO... parece que a ti te a pasado... ¿lograste solucionarlo finalmente?

« Última modificación: 20 de Agosto de 2009, 01:47:35 por Braulio »

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Error en simulacion.
« Respuesta #8 en: 21 de Agosto de 2009, 00:34:37 »
Hola.

A mi me paso simulando RS485 paso a paso. Lo solucioné colocando BreakPoints entre los puntos en los que se generaba el error:





Es decir, dejaba que el micro hiciera su trabajo en la linea donde, simulando paso a paso, me generaba el error en la dll.

Saludos
El papel lo aguanta todo

Desconectado Braulio

  • PIC12
  • **
  • Mensajes: 52
Re: Error en simulacion.
« Respuesta #9 en: 21 de Agosto de 2009, 00:46:00 »
Es decir, dejaba que el micro hiciera su trabajo en la linea donde, simulando paso a paso, me generaba el error en la dll.


Chamfles... a mi me salta el error tanto simulando paso a paso como en la simulación continua  :cry: ....

De todos modos gracias por la respuesta...

Salu2.

BRAULIO


 

anything