Also ein Bild sagt mehr als tausend Wort, daher hier mal der Schaltplan.
Softwaremäßig habe ich das jetzt alles mal auf ein minimum reduziert um Fehlerquellen ausschliessen zu können. Folgender Code produziert mir einen wechselnden High-Low-Pegel je nachdem ob der PIC nun auf input oder output stellt. Zum testen habe ich nur die Netzwerkkarte auf der Platine stecken. Mit dem Debugger oder dem Voltmeter kann ich das ganze Schauspiel dann beobachten.
Code:
CCS:
BYTE data;
output_d(0x00);
output_high(IOW);
output_high(IOR); (auch low-Pegel getestet)
output_high(RST);
delay_ms(2);
output_low(RST);
output_high(AEN);
data=0;
delay_ms(2000);
data=0;
data = input_d();
delay_ms(2000);
output_d(0x0);
delay_ms(2000);
data=0;
data = input_d();
delay_ms(2000);
output_d(0x0);
delay_ms(2000);
data=0;
data = input_d();
Den AEN habe ich auch mal in meinen kompletten netzwerk-code eingearbeitet. Also die Karte kann in der tat nicht beschrieben werden wenn AEN disabled (high) ist. Aber der Effekt das die Datenleitungen auf high gehen sobald ich auf input stelle bleibt. Wenn ich der Karte natürlich einen ordnungsgemässen Read-Befehl sende gehen nicht alle Datenleitungen auf High.
Bisher macht es keinen Unterschied, ob ich die Netzwerkkarte initialisiere oder nicht, daher sollte der obige Code zum testen ok sein.
Lesezeichen