T
Torsten
Guest
Hi Leute,
also ich habe da ein Problem. Habe selbst ei Board entwickelt, mit
W3100a, RTL8201 und 89C52.
Wenn ich versuche das Board anzupingen kriege ich bloss
Zeitüberschreitung. Habe dann mal den Datenverkehr im Netz mit
ETHEREAL aufgezeichnet. Das Board antwortet aber mein PC versteht das
nicht. Hängt auch ein Router zwischen (NETGEAR RP6114v2) Der findet
die Schaltung auch (IP adresse und MAC wird angezeigt. Wenn ich einen
Ping sende erzeugt der W3100A auch keinen Interrupt. Ich weiss nicht
mehr weiter. Hier dass Programm (für Hilfen wäre ich sehr dankbar. wie
muss ich dat Dingen richtig programmieren?Von C habe ich keinen
Blassen, mache alles mit BASCOM8051).
Übrigens der W3100a hängt auf der Basis-Adresse $8000
$regfile = "89c51.dat"
$crystal = 4000000
$ramstart = &H8000 'at this
adress is the w3100a (hardwired)
Dim Iii As Byte 'i need
variables
Dim Aaa As Byte
Dim Result As Byte
Dim T As Byte
Dim S As String * 50
Waitms 100
P3.1 = 0
P1.7 = 0
Iii = 0
Aaa = 0
Call W3100a_init
'Enable Interrupts
'enables the interrupts of my mcu
'Enable Int0 'enable
the interrupt (at this pin is the int wire of the w3100a
'On Int0 Isr 'if
ainterrupt occurs call the isr routine
'Initialise the INT0 Interrupt
Do
P1.7 = Not P1.7
Wait 1 'at this
position will be the main program (later)
Loop
Isr:
P1.7 = Not P1.7 'it will
change the status of the led to show me that an interrupt has occured
Return
End
Sub W3100a_init
'W3100A Reset will set the reset pin for 50 ms at high
then at low and wail 50ms
P3.1 = 1
Waitms 50
P3.1 = 0
Waitms 50
'Init W3100A
Out &H8000 , &H80
Waitms 50
'memory setup (4 x 2kB)
Out &H8095 , 55
Out &H8096 , 55
'gar Gateway i have a netgear router, it have the ip
adress 192.168.0.1
Out &H8080 , 192
Out &H8081 , 168
Out &H8082 , 0
Out &H8083 , 1
'smr Subnet-Mask subnet mask as at my windows computer
Out &H8084 , 255
Out &H8085 , 255
Out &H8086 , 255
Out &H8087 , 0
'shar MAC Adresse 'MAC Address
Out &H8088 , 0
Out &H8089 , 8
Out &H808A , &HDC
Out &H808B , 0
Out &H808C , 0
Out &H808D , 0
'sipr IP-Adresse IP adress is 192.168.0.8
Out &H808E , 192
Out &H808F , 168
Out &H8090 , 0
Out &H8091 , 8
'sysinit i think it's o.k.
Waitms 10
Out &H8000 , 1
While Result = 1
Result = Inp(&H8004)
Wend
'(
'TCP stream festlegen is that right?
Out &H80A1 , 1
Waitms 100
'sock init I'm not really know is it correct
Out &H8092 , &H0F
Waitms 2
Out &H8092 , &HA0
Waitms 2
'port port have to be $80 (HTTP)
Out &H80F6 , &H00
Waitms 2
Out &H80F7 , 80
Waitms 2
Out &H8000 , 2
While Result = 2
'established ?
Result = Inp(&H8004)
Wend
')
For T = 1 To 6 ' this
for next routine let a led blink to show me it's ready
P1.7 = Not P1.7
Waitms 500
Next T
End Sub
also ich habe da ein Problem. Habe selbst ei Board entwickelt, mit
W3100a, RTL8201 und 89C52.
Wenn ich versuche das Board anzupingen kriege ich bloss
Zeitüberschreitung. Habe dann mal den Datenverkehr im Netz mit
ETHEREAL aufgezeichnet. Das Board antwortet aber mein PC versteht das
nicht. Hängt auch ein Router zwischen (NETGEAR RP6114v2) Der findet
die Schaltung auch (IP adresse und MAC wird angezeigt. Wenn ich einen
Ping sende erzeugt der W3100A auch keinen Interrupt. Ich weiss nicht
mehr weiter. Hier dass Programm (für Hilfen wäre ich sehr dankbar. wie
muss ich dat Dingen richtig programmieren?Von C habe ich keinen
Blassen, mache alles mit BASCOM8051).
Übrigens der W3100a hängt auf der Basis-Adresse $8000
$regfile = "89c51.dat"
$crystal = 4000000
$ramstart = &H8000 'at this
adress is the w3100a (hardwired)
Dim Iii As Byte 'i need
variables
Dim Aaa As Byte
Dim Result As Byte
Dim T As Byte
Dim S As String * 50
Waitms 100
P3.1 = 0
P1.7 = 0
Iii = 0
Aaa = 0
Call W3100a_init
'Enable Interrupts
'enables the interrupts of my mcu
'Enable Int0 'enable
the interrupt (at this pin is the int wire of the w3100a
'On Int0 Isr 'if
ainterrupt occurs call the isr routine
'Initialise the INT0 Interrupt
Do
P1.7 = Not P1.7
Wait 1 'at this
position will be the main program (later)
Loop
Isr:
P1.7 = Not P1.7 'it will
change the status of the led to show me that an interrupt has occured
Return
End
Sub W3100a_init
'W3100A Reset will set the reset pin for 50 ms at high
then at low and wail 50ms
P3.1 = 1
Waitms 50
P3.1 = 0
Waitms 50
'Init W3100A
Out &H8000 , &H80
Waitms 50
'memory setup (4 x 2kB)
Out &H8095 , 55
Out &H8096 , 55
'gar Gateway i have a netgear router, it have the ip
adress 192.168.0.1
Out &H8080 , 192
Out &H8081 , 168
Out &H8082 , 0
Out &H8083 , 1
'smr Subnet-Mask subnet mask as at my windows computer
Out &H8084 , 255
Out &H8085 , 255
Out &H8086 , 255
Out &H8087 , 0
'shar MAC Adresse 'MAC Address
Out &H8088 , 0
Out &H8089 , 8
Out &H808A , &HDC
Out &H808B , 0
Out &H808C , 0
Out &H808D , 0
'sipr IP-Adresse IP adress is 192.168.0.8
Out &H808E , 192
Out &H808F , 168
Out &H8090 , 0
Out &H8091 , 8
'sysinit i think it's o.k.
Waitms 10
Out &H8000 , 1
While Result = 1
Result = Inp(&H8004)
Wend
'(
'TCP stream festlegen is that right?
Out &H80A1 , 1
Waitms 100
'sock init I'm not really know is it correct
Out &H8092 , &H0F
Waitms 2
Out &H8092 , &HA0
Waitms 2
'port port have to be $80 (HTTP)
Out &H80F6 , &H00
Waitms 2
Out &H80F7 , 80
Waitms 2
Out &H8000 , 2
While Result = 2
'established ?
Result = Inp(&H8004)
Wend
')
For T = 1 To 6 ' this
for next routine let a led blink to show me it's ready
P1.7 = Not P1.7
Waitms 500
Next T
End Sub