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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.