修改socket链接不稳定
Fork of WIZnetInterface by
Diff: arch/int/W7500x_toe.cpp
- Revision:
- 30:d4ed4f463f3d
- Parent:
- 29:c91884bd2713
--- a/arch/int/W7500x_toe.cpp Tue Nov 17 06:35:55 2015 +0000
+++ b/arch/int/W7500x_toe.cpp Wed Nov 16 05:23:28 2016 +0000
@@ -266,8 +266,10 @@
uint16_t ptr = sreg<uint16_t>(socket, Sn_TX_WR);
uint32_t sn_tx_base = W7500x_TXMEM_BASE + (uint32_t)(socket<<18);
- for(int i=0; i<len; i++)
+ for(int i=0; i<len; i++){
*(volatile uint8_t *)(sn_tx_base + ((ptr+i)&0xFFFF)) = str[i];
+ //wait(0.001f);
+ }
sreg<uint16_t>(socket, Sn_TX_WR, ptr + len);
scmd(socket, SEND);
@@ -305,8 +307,10 @@
uint16_t ptr = sreg<uint16_t>(socket, Sn_RX_RD);
uint32_t sn_rx_base = W7500x_RXMEM_BASE + (uint32_t)(socket<<18);
- for(int i=0; i<len; i++)
+ for(int i=0; i<len; i++){
buf[i] = *(volatile uint8_t *)(sn_rx_base + ((ptr+i)&0xFFFF));
+ //wait(0.001f);
+ }
sreg<uint16_t>(socket, Sn_RX_RD, ptr + len);
scmd(socket, RECV);
