w5200NetIf W5200(WIZ820io) network interface
TCP/UDPクライアントに使うのであれば、EthernetNetIfの代わりに動きます。
#include "WIZ820ioNetIf.h" WIZ820ioNetIf eth; eth.setup();
現在の制限
・TCPサーバーの為のacceptは実装していない。
・使えるソケットは1つだけ、同時に複数の接続は出来ない。
【追加】
時々ハングアップするのだが、調べてみると長さが0バイトつまりlen=0で送信すると、
SnTX_WRに同じ値を書いてSENDコマンドを発行すると、w5200の全てのレジスタがクリアされてしまう。
int /*if < 0 : NetTcpSocketErr*/ MyNetTcpSocket::send(const char* buf, int len) { #ifdef DEBUG printf("buf:%p, len=%d\n", buf, len); printHex((u8*)buf, len); #endif //DEBUG if (len > 0) { W5100.send_data_processing(_socket, (uint8_t*)buf, len); W5100.execCmdSn(_socket, Sock_SEND); } return len;---
0 件のコメント:
コメントを投稿