[quote:eb89ce9f96="bzijlstra"]See my question above and here
[quote:eb89ce9f96]What are you doing with the SPI_enable line of the WIZ810MJ?
What have you done with the reset of the WIZ810MJ?
[/quote:eb89ce9f96]
Have you had a look at the hardware on my homepage?
Ben Zijlstra[/quote:eb89ce9f96]
I check your link and tried this code
[code:1:eb89ce9f96]
$regfile = "m32def.dat"
$crystal = 16000000
$hwstack = 64
$swstack = 64
$framesize = 64
'Common registers
'Mode register
Const W5100_mr = &H0000
'Gateway address registers
Const W5100_gar0 = &H0001
Const W5100_gar1 = &H0002
Const W5100_gar2 = &H0003
Const W5100_gar3 = &H0004
'Subnet mask Address registers
Const W5100_subr0 = &H0005
Const W5100_subr1 = &H0006
Const W5100_subr2 = &H0007
Const W5100_subr3 = &H0008
'Source Hardware Address registers
Const W5100_shar0 = &H0009
Const W5100_shar1 = &H000A
Const W5100_shar2 = &H000B
Const W5100_shar3 = &H000C
Const W5100_shar4 = &H000D
Const W5100_shar5 = &H000E
'Source IP Address registers
Const W5100_sipr0 = &H000F
Const W5100_sipr1 = &H0010
Const W5100_sipr2 = &H0011
Const W5100_sipr3 = &H0012
Dim Value As Byte
Dim Adres As Word
Dim Adresl As Byte At Adres Overlay
Dim Adresh As Byte At Adres + 1 Overlay
' 0 = long board
' 1 = sandwichboard
Const Board = 1
'Used Wiz5100 ports and pins
Wiz5100_cs Alias Portb.2 'Chipselect WIZ5100
#if Board 'sandwichboard
Wiz5100_res Alias Portd.3 'reset of WIZ810MJ
'Other used ports and pins
Relais1 Alias Portd.4
Relais2 Alias Portd.5
Relais3 Alias Portd.6
Relais4 Alias Portd.7
#elseif
Wiz5100_res Alias Portc.0 'long board
Relais1 Alias Portc.1
Relais2 Alias Portc.2
Relais3 Alias Portc.3
Relais4 Alias Portc.4
#endif
'Used ports and pins
Config Wiz5100_cs = Output
Config Wiz5100_res = Output
'Configuration of the SPI-bus
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 0
'Init the spi pins
Spiinit
'Here we declare the used sub routines
Declare Sub Wiz5100_init
Declare Sub Wiz5100_readvalue(byval Reg As Word)
Declare Sub Wiz5100_writevalue(byval Reg As Word , Byval Value As Byte)
Declare Sub Wiz5100_reset
Dim Wiz5100_opcode_read As Byte
Wiz5100_opcode_read = 15
Dim Wiz5100_opcode_write As Byte
Wiz5100_opcode_write = 240
Call Wiz5100_init 'We initialize the Wiz5100
Do
Loop
End
Sub Wiz5100_init
Call Wiz5100_reset 'Hardware reset
'Register reset
Call Wiz5100_writevalue(W5100_mr , &H80)
Call Wiz5100_writevalue(w5100_gar0 , 192)
Call Wiz5100_writevalue(W5100_gar1 , 168)
Call Wiz5100_writevalue(W5100_gar2 , 0)
Call Wiz5100_writevalue(w5100_gar3 , 254)
Call Wiz5100_writevalue(W5100_subr0 , 255)
Call Wiz5100_writevalue(W5100_subr1 , 255)
Call Wiz5100_writevalue(W5100_subr2 , 255)
Call Wiz5100_writevalue(w5100_subr3 , 0)
Call Wiz5100_writevalue(W5100_shar0 , &H00)
Call Wiz5100_writevalue(W5100_shar1 , &H10)
Call Wiz5100_writevalue(W5100_shar2 , &H20)
Call Wiz5100_writevalue(W5100_shar3 , &H30)
Call Wiz5100_writevalue(W5100_shar4 , &H40)
Call Wiz5100_writevalue(w5100_shar5 , &H50)
'Set own IP address
Call Wiz5100_writevalue(W5100_sipr0 , 192)
Call Wiz5100_writevalue(W5100_sipr1 , 168)
Call Wiz5100_writevalue(W5100_sipr2 , 0)
Call Wiz5100_writevalue(W5100_sipr3 , 73)
End Sub
Sub Wiz5100_readvalue(reg)
Adres = Reg
Reset Wiz5100_cs
Spiout Wiz5100_opcode_read , 1
Spiout Adresh , 1
Spiout Adresl , 1
Spiin Value , 1
Set Wiz5100_cs
End Sub
Sub Wiz5100_writevalue(reg , Value )
Adres = Reg
Reset Wiz5100_cs
Spiout Wiz5100_opcode_write , 1
Spiout Adresh , 1
Spiout Adresl , 1
Spiout Value , 1
Set Wiz5100_cs
End Sub
Sub Wiz5100_reset
Wiz5100_res = 1
Waitms 10
Wiz5100_res = 0
Waitms 30 'Minimum 20 µs
Wiz5100_res = 1
End Sub
[/code:1:eb89ce9f96]
I connected pins CS and Reset.
If i send ping to 192.168.0.73 but modul didn't respone.
↧