본문 바로가기

[INTERFACE]/PIC18F_ETHERNET

[PIC18F67J60 EVM] Ethernet Test - C#을 이용한 TCP/IP 네트웍 제어

[PIC18F67J60 EVM] Ethernet Test -  C#을 이용한 TCP/IP 네트웍 제어


PIC18F67J60은 소형 페키지에 Ehternet MAC + Ehternet Phy + PIC18 + ACD + SPI + I2C + UART 가 포함된 MCU로 소형 웹서버나 이더넷 제어에 편리하다. Microchip사에서 제공하는 무료 TCP/IP 스텍을 이용하여 간단한 TCP/IP제어를 해보았다.


C#을 이용한 PC프로그램 작성
C#을 이용하면 PC프로그램을 쉽게 작성가능하다.



private void button1_Click(object sender, EventArgs e)
{
            try
            {
                String ia_addr;
                ia_addr = textIP1.Text + "." + textIP2.Text + "." + textIP3.Text + "." + textIP4.Text;
                
                client = new TcpClient();
                client.Connect(ia_addr, Convert.ToInt16(textPort.Text));

                label1.Text = "서버에 접속 했습니다.";

            }
            catch
            {
                label1.Text = "서버에 접속하지 못 했습니다.";
            }
}


PIC18F67J60 펌웨어 소스
void main (void)
{
 char sw_flag = 0;
 //Init System
 SystemInit();
 
 //Init LED
 Led1Init();
 Led2Init();

 Led2On();
 Led1On(); 

 Sw1Init();
 U0_Init(0);
 Delay(10);

 U0_PutStr("PIC18F67J60 EVM\r\n");

    // Initialize all stack related components.
    // Following steps must be performed for all applications using
    // PICmicro TCP/IP Stack.

    TickInit();

    // Following steps must be performed for all applications using
    // PICmicro TCP/IP Stack.

    MPFSInit();

    // Initialize Stack and application related NV variables.
    InitAppConfig();

    StackInit();
    whlile(1)
   {
        // This task performs normal stack task including checking
        // for incoming packet, type of packet and calling
        // appropriate stack entity to process it.

        StackTask();

        // In future, as new TCP/IP applications are written, it
        // will be added here as new tasks.
       ProcessTCPClient();
       ProcessDebug();
   }
}

[PIC18F67J60 EVM] Ethernet테스트 동영상 - C#을 이용한 TCP/IP 제어

반응형