گروه فنی مهندسی آرکام

پروژه های دانشجویی ، آموزش ، مشاوره ، فروش آثار

گروه فنی مهندسی آرکام

پروژه های دانشجویی ، آموزش ، مشاوره ، فروش آثار

گروه فنی مهندسی آرکام

گرداننده و نگارنده : محمد نوری

البرز ، کرج ، گلشهر

09125623558
Nouri.Iut@Gmail.Com

جهت حمایت از این وبلاگ، ما را به یک فنجان چای داغ مهمان کنید.
6273-8111-1003-9762

دنبال کنندگان ۳ نفر
این وبلاگ را دنبال کنید

تبلیغات

آخرین نظرات

پیوندها

The flags field indicates what UDP checksum policy that should be used for a UDP session. This can be either to switch UDP checksumming off completely, or to use UDP Lite in which the checksum covers only parts of the datagram...

                                   

// main.c

static void vSetupIFTask (void *pvParameters) {

...

  while (1) {

    physts = lpcPHYStsPoll();

 

    if (physts & PHY_LINK_CHANGED) {

      if (physts & PHY_LINK_CONNECTED) {

        tcpip_callback_with_block((tcpip_callback_fn) netif_set_link_up, (void *) &lpc_netif, 1);

      }

      else {

        tcpip_callback_with_block((tcpip_callback_fn) netif_set_link_down, (void *) &lpc_netif, 1);

      }

      vTaskDelay(configTICK_RATE_HZ / 4);

    }

  }

}

// main.c -- no-RTOS

static void vSetupIFTask (void *pvParameters) {

...

  netif_add(&lpc_netif, &ipaddr, &netmask, &gw, NULL, lpc_enetif_init, ethernet_input)

...

}

 

// main.c -- FreeRTOS

static void vSetupIFTask (void *pvParameters) {

...

  if (!netif_add(&lpc_netif, &ipaddr, &netmask, &gw, NULL, lpc_enetif_init, tcpip_input))

  {

...

}


// ethernetif.c

err_t ethernetif_init(struct netif *netif) // lpc_enetif_init

{

...

  low_level_init(netif);

 

  return ERR_OK;

}

 

// ethernetif.c

static void low_level_init(struct netif *netif)

{

...

  netif->mtu = 1500;

 

  netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_LINK_UP;

 

  /* Do whatever else is needed to initialize interface. */ 

}


// lpc17xx_40xx_emac.c

err_t lpc_enetif_init(struct netif *netif)

{

...

  err = low_level_init(netif);

  if (err != ERR_OK) {

    return err;

  }

...

  netif->output = lpc_etharp_output;

  netif->linkoutput = lpc_low_level_output;

...

  return ERR_OK;

}


// lpc17xx_40xx_emac.c

STATIC err_t lpc_etharp_output(struct netif *netif, struct pbuf *q, ip_addr_t *ipaddr)

{

  /* Only send packet is link is up */

  if (netif->flags & NETIF_FLAG_LINK_UP) {

    return etharp_output(netif, q, ipaddr);

  }

 

  return ERR_CONN;

}

هنگام انتخاب IPv4/IPv6 Stack برای سیستم توکار خود، حتما به مستندات آن، مِن جمله، به Supported Devices آن نگاه دقیقی داشته باشید...

 

Ethernet PHY Transceiver

LandTiger V2.0 LPC1768 Development Board

DP83848

LPC1769 LPCXpresso board

LAN8720

 در صورتی که سیستم به هر دلیلی خاموش و روشن شد! طول پالس Reset ارسالی به PHY، باید مطابق با مستندات آن قطعه باشد...

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی