Buenas, estoy probando el siguiente proyecto:
http://dangerousprototypes.com/2009/12/11/prototype-web-platform/Lo tengo armando y comencé las pruebas y los resultados hasta ahora no son del todo satisfactorios, inicie probando la parte de ethernet,
y funciona a medias, entonces como no pude conseguir los valores de algunas resistencias exactos como están en el datasheet del ENC, les consulto
No conseguí las resistencias de 49.9 ohms al 1%, puse lo mas próximo que conseguí, tampoco la de 2,32k al 1%, es tan critico el tema de los
valores?, diferencias de 1ohm hacen verdaderamente la diferencia?
Entonces para los que tienen armado algo con el ENC, les pediría un par de mediciones por favor si pueden pasarme.
Tensión de los siguientes pines respecto a tierra.
1-12-13-14-15-16-17.
Les comento lo que me esta pasando.
Inicio la placa y enseguida se establece el link (led link encendido), y cada x tiempo (periodico), se enciende el led de activity, cuando
miro en el wireshark el trafico de la red, veo efectivamente que la placa envia la solicitud al DHCP para adquirir la direccion,
a lo cual el servidor DHCP (router en mi caso) responde a la misma, pero la placa no toma la dirección.
Mis sospechas son que el ENC no esta recibiendo, por lo tanto mido las tensiones en los pines de recepcion, y veo que
el pin 13 tiene 1,6v, mientras el 12 tiene 3.2V, si miro del lado de transmision, veo que ambos pines 16 y 17 tienen el mismo
voltaje 1.6v, y tengo la duda si esto realmente pude estar complicando las cosas.
Estoy usando el mplab8.85 y c30 3.02, con un ejemplo de microchip, y con el codigo HEX provisto por los que hicieron el proyecto
original, y todos tengo la misma falla.
Otra cosa curiosa que veo.
#ifdef STACK_USE_ANNOUNCE //announce IP address change if enabled
if(prevIP != AppConfig.MyIPAddr.Val){
prevIP = AppConfig.MyIPAddr.Val;
AnnounceIP();
}
#endif
en el siguiente código debe anunciarse la ip del dispositivo al iniciarse, pero si yo ejecuto el código, esto no sucede, ahora
si coloco un breakpoint, haciendo un debbuging con el pickit2, y pongo un breakpoint antes de llamar a la función
announceIP(), efectivamente el programa pasa por ahí, si continuo la ejecución el dispositivo anuncia su ip.
Resumiendo: si lo ejecuto en forma continua, nunca ejecuta la función AnnounceIP, si hago un paso a paso, si.
La verdad no se por que puede pasar eso, si a alguno le sucedió algo parecido, agradecería sus comentarios.
Saludos.
Alejandro.