mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik lwip freertos at91sam7x


Autor: Kilian B. (kilian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag zusammen
Ich habe eine Frage bezüglich des Ports lwIP_Demo_Rowley_ARM7 aus dem 
freeRTOS demopackage.

Die folgenden Codezeilen:
/* Create and configure the EMAC interface. */
IP4_ADDR(&xIpAddr,emacIPADDR0,emacIPADDR1,emacIPADDR2,emacIPADDR3);
IP4_ADDR(&xNetMast,emacNET_MASK0,emacNET_MASK1,emacNET_MASK2,emacNET_MAS 
K3);
IP4_ADDR(&xGateway,emacGATEWAY_ADDR0,emacGATEWAY_ADDR1,emacGATEWAY_ADDR2 
,emacGATEWAY_ADDR3);
netif_add(&EMAC_if, &xIpAddr, &xNetMast, &xGateway, NULL, 
ethernetif_init, tcpip_input);

/* make it the default interface */
netif_set_default(&EMAC_if);

/* bring it up */
netif_set_up(&EMAC_if);

scheinen einen Hintergrundtask zu erzeugen.
Was ist die Aufgabe dieses Hindergrundtasks?

Ich habe einen Web und Telnetserver am laufen, beide Tasks
brauchen jeweils einen Hintergrundtask.
Meine vermutung ist, dass dieser task die empfangenen Daten aufarbeitet 
und dann den main task (zb Webserver) aufruft.

Erst dachte ich der Task wird einfach regelmässig aufgerufen.
Als ich dann einen Task erstellte der senden und empfangen sollte, 
sendete das Programm nur wenn etwas empfangen wurde.
Wenn ich hingegen nur sende im Task macht er das auch.

Hier noch der code dazu (loop ist in einem Task):

  // Loop forever
  for( ;; )
  {
    rx_buf=netconn_recv(nconn);
    if(rx_buf!=NULL){
        vProcessConnection(nconn,rx_buf,tx_buf,msg);
    }
    netconn_connect(nconn_get, &addr,UDP_PORT);
    netconn_send(nconn_get, tx_buf);
    vTaskDelay( 200 );
  }
}

Gruss
Kilian

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.