사용자 도구

사이트 도구

English

moacon:netrecv:index

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
moacon:netrecv:index [2016/03/23 23:23]
Comfile Technology
moacon:netrecv:index [2016/04/14 09:50] (현재)
줄 16: 줄 16:
  
 ==== 사용예 ==== ==== 사용예 ====
 +
 +다음은 TCP 루프백 테스트 프로그램입니다. 아래그림처럼 네트워크상에 TCP 에코처리를
 +해주는 별도의 디바이스가 있어야 테스트가 가능합니다. ​
 +
 +이 프로그램은 에코디바이스로 TCP 데이터를 송신하고,​ 같은 데이터가 되돌아 오는지를 확인하여,​ LCD 상에 표시해주는
 +프로그램입니다. 에코디바이스의 IP 어드레스는 192.168.0.1 로 되어 있습니다. ​
 +
 +
 <code c> <code c>
 +#include "​moacon500.h"​
 +void cmain(void)
 +{
 + u8 i=0x35,j;
 + u16 k,​kk=0,​length1;​
 + ​clcdPower(1);​
 + ​clcdI2cInit(0);​
 + u8 GatewayIP[]={192,​168,​0,​1};​
 + u8 SubnetMask[]={255,​255,​255,​0};​
 + u8 MacAdr[]={0,​0,​34,​53,​12,​0};​
 + u8 DeviceIp[]={192,​168,​0,​12};​
 + u8 destIP[]={192,​168,​0,​2};​
  
 + char data1[] = "​Comfile";​
 + char data2[20];
 + ​netBegin(GatewayIP,​ SubnetMask, MacAdr, DeviceIp);
 + ​socketOpen(0,​1000);​
 + ​connect(0,​destIP,​5000);​
 + while (1) {
 +   ​switch(netStatus(0)) {
 +   case SOCK_ESTABLISHED:​
 +     ​netPrint(0,"​Comfile%D%C",​kk++,​0);​
 +     ​delay(20);​
 +     ​length1 = netRxLen(0); ​
 +     ​clcdLocate(0,​2);​
 +     ​netRecv(0,​data2,​length1);​
 +     ​data2[--length1]=0;​
 +     ​clcdPrint(0,​2,​data2);​
 +     ​clcdPrint(0,​3,"​Rx=%d",​length1);​
 +     ​delay(200);​
 +     ​break;​
 +   case SOCK_CLOSE_WAIT:​
 +     ​disConnect(0);​
 +     ​clcdPrint(0,​0,"​Socket disconnect"​);​
 +     ​delay(200);​
 +     ​break;​
 +   case SOCK_CLOSED:​
 +     ​clcdPrint(0,​0,"​Socket Closed ");
 +     ​delay(200);​
 +     if (connect(0,​destIP,​5000) != 0 ) {
 +       ​clcdPrint(0,​0,"​Socket open ");
 +       }
 +   ​break;​
 +   }
 + }
 +
 </​code>​ </​code>​
 +
 +{{ :​moacon:​netrxlen:​ethernetsample.png?​nolink |}}
  
  
 [[MOACON:​|목록으로 가기]] [[MOACON:​|목록으로 가기]]
moacon/netrecv/index.txt · 마지막으로 수정됨: 2016/04/14 09:50 (바깥 편집)