I have module WIZ812MJ based on W5100 and PIC16F874 development board.
Refer W5100_Datasheet_v1_1_8 and WIZ812MJ_Datasheet_V_1.1 i work with WIZ812MJ
PIC16F874 has the same power as the module 3.3 V.
I use direct bus interface mode (p. 59 W5100_Datasheet_v1_1_8), UDP mode. I don’t write MR register. I use default value MR = 0x00 h.
- At first - power on and reset refer RESET TIMING (p. 64 W5100_Datasheet_v1_1_8)
- Read default values as RTR0 = 0x07 h, RTR1 = 0xD0 h, RMSR = 0x55 h, TMSR = 0x55 h.
- Write GATE WAY registers, SUBNET MASK ADRESS registers, SOURCE HARDWARE ADRESS registers.
- Connect LAN cable from PC to module and do ping and arp command. I see communication and module’s MAC.
- Then I configure Socket_0 registers: S0_MR = 0x02 h, S0_PORT registers = 0x1388 h, and do open port command S0_CR = 0x01 h. Check SO_SR == 0x22 h - OK!
- Send UDP packet from PC.
- Check S0_IR register = 0x04 - interrupt from socket 0 occur and S0_RSR registers. Their value isn’t zero.
- Clear interrupt - write 0x04 to S0_IR register.
9)Then I begin to read starting from adress 0x6000. And ERROR occur.
After I have read one byte from RX memory the HANG occur. S0_IR register, S0_CR register, IR register, MR register, RMSR register, TMSR register accepts impermissible values. I can’t write these registers. But I can read all data (packet) from RX memory. Only RESET (refer RESET TIMING p. 64 W5100_Datasheet_v1_1_8) can help.
If I try to write TX_ memory after steps 1-5 ERROR and HANG occur too.
What is it? What should I do?