Problem on receiving continuous buffer data from w5500
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: Problem on receiving continuous buffer data from w5500
by randomizer ·
could you please share your code for sending and receiving data to/from the PC?
RE: Problem on receiving continuous buffer data from w5500
by Eugeny ·
Look into the W5500 driving code. Most probably driver is looping looking for incoming data, and incoming data (RX size !=0) triggering driver executing sending code.
RE: Problem on receiving continuous buffer data from w5500
by JoergH ·
[quote=“randomizer”]could you please share your code for sending and receiving data to/from the PC?[/quote]void W5500_Write_TXBuf(unsigned char SocketNr, unsigned char *z, unsigned int len)
{
unsigned char /z[] =“Hallo ich bin da, wer noch?”,/ i, AdrHi, AdrLo;
unsigned int Adr;
// z[0]=169; z[1]=254;z[2]=101;z[3]=2;z[4]=0x13;z[5]=0x88;z[6]=0;z[7]=10;
TIMER_START(74);
#ifdef SEND_BLOCK
#else
#ifdef DEBUG
xil_printf(“Sn_TX_WR: Adr = 0x%x %x %x\n\r”, Adr, AdrHi, AdrLo);
#endif
#ifdef DEBUG
xil_printf(" TX-S%d Byte %d 0x%x = 0x%x %d %c\n\r", 0, i, i, z[i], z[i], z[i]);
#endif
SPI_Byte(z[i++]);
Adr++;
}
GPO_ptr[3] = 0x00 | FREQ_BIT ; // Freq
/////////////////////////////////////////////////////////
AdrHi = (Adr & 0xFF00)>>8;
AdrLo = (Adr & 0x00FF) ;
#ifdef DEBUG
xil_printf(“Sn_TX_WR: Adr = 0x%x %x %x\n\r”, Adr, AdrHi, AdrLo);
#endif
#endif
TIMER_STOPP(74);
}
void W5500_Send_TXBuf(unsigned char SocketNr)
{
W5500_SocketCmd(SocketNr, 0x20);
}
void W5500_SocketCmd(unsigned char SocketNr, unsigned char Cmd)
{
}
void W5500_Read_TXBuf(unsigned char SocketNr)
{
// Nur 10 Byte lesen…
unsigned char z,/z[] =“Hallo ich bin da, wer noch?”,/ i, AdrHi, AdrLo;
unsigned int Adr;
// z[0]=169; z[1]=254;z[2]=101;z[3]=2;z[4]=0x13;z[5]=0x88;z[6]=0;z[7]=10;
}
void W5500_Read_RXBuf(unsigned char SocketNr)
{
unsigned int i, Adr, Len;
unsigned char z, AdrHi, AdrLo, LenHi, LenLo;
#ifdef DEBUG
xil_printf(“Adr = 0x%x %x %x\n\rLen = %d %x %x\n\r”, Adr, AdrHi, AdrLo, Len, LenHi, LenLo);
#endif
}