[From QnA]problem in data transmission using w5300
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: [From QnA]problem in data transmission using w5300
by hjjeon0608 ·
Dear customer,
Thanks for your interest in W5300.
Do you use our reference code(16bit access)?
Could you please tell me detailed information?
value of Sn_SSR, Sn_IR, Sn_IMR, IR, IMR, MR etc….
Thanks,
WIznet
RE: [From QnA]problem in data transmission using w5300
by hjjeon0608 ·
thanks for your reply
IMR=0x0001;
MR=0xB800;
S0_MR=0x0001;
S0_IMR=0x0014;
S0_SSR=0x17 // established;
IR=0x00;
S0_iR=0x00;
every time i sent 6785 byte data from MCU to PC; most of times ,it works well; but occasionally the error will be happen, some byte will become to “ff”
RE: [From QnA]problem in data transmission using w5300
by hjjeon0608 ·
Dear customer,
Thanks for your interest in W5300.
Try to modify the recv function. For example,
In case of If statement in recv function.
Please remove the If statement. Timing problem can occur by If statement.
======== 16bit reference code in recv function==============
wiz_read_buf(s,(uint8*)&pack_size,2); // extract the PACKET-INFO(DATA packet length)
if( ((vint16)MR) & MR_FS ) → remove…(if you use MR_FS, try to remove if statement)
pack_size = ((((pack_size << 8 ) & 0xFF00)) | ((pack_size >> 8)& 0x00FF));
thanks,
WIznet
RE: [From QnA]problem in data transmission using w5300
by bongbong ·
[quote=“hjjeon0608”]Dear customer,
Thanks for your interest in W5300.
Try to modify the recv function. For example,
In case of If statement in recv function.
Please remove the If statement. Timing problem can occur by If statement.
======== 16bit reference code in recv function==============
wiz_read_buf(s,(uint8*)&pack_size,2); // extract the PACKET-INFO(DATA packet length)
if( ((vint16)MR) & MR_FS ) → remove…(if you use MR_FS, try to remove if statement)
pack_size = ((((pack_size << 8 ) & 0xFF00)) | ((pack_size >> 8)& 0x00FF));
thanks,
WIznet[/quote]
or you could try as follows:
in the beginning of the recv(),
you add & modify the code :
uint16 tmp_MR = (*(vint16*)MR); // read MR register first // and then, you use tmp_MR whenever you use MR register in revc() function.