EMB 94

EMBEDDED 94 • NOVEMBRE • 2024 58 SOFTWARE | TCP/IP ver riceve un messaggio da un client, lo invia di ritorno. Nel MaximSDK, il file sorgente “lwIP TCP” mostra come utilizzare le funzioni TCP della libreria lwIP. In questo scenario, il microcontrollore agisce come server TCP e attende una richiesta del client. I dati inviati dal client vengono ritrasmessi. I file sorgenti dell’applica- zione “tcpecho_raw.c” devono essere utilizzati nell’e- sempio di Echo server TCP. Per assegnare l’Echo ser- ver TCP, procedere come segue. Per impostare l’Echo server TCP: • Creare un socket • Fare il binding del socket al numero di porta pub- blicato • Eseguito il binding, inizia la fase di ascolto delle connessioni in entrata • Quando viene richiesta una connessione, accetta la richiesta da parte del client • In seguito il server riceve i dati dal client • Infine, rimanda indietro gli stessi dati La figura 11 mostra un frammento di codice che forni- sce una panoramica della struttura del firmware, che fa parte della funzione principale. La funzione config_ emac inizializza l’EMAC e MXC_ETH_Init inizializza lo stack lwIP. Dopo l’inizializzazione dell’EMAC e dello stack lwIP, l’Echo server TCP viene inizializzato con tcpecho_ raw_init. La struttura di inizializ- zazione dell’Echo server è illustrata nella figura 12. L’inizializzazione dell’Echo server crea un nuovo socket. Quindi, ese- gue il binding dell’indirizzo IP e del numero di porta assegnati al nuovo socket. Dopo il binding, si metterà in ascolto per una connessione dal client remoto. Per testare l’esempio di server TCP, utilizzare l’utility client per PC echo- tool.exe. Il file echotool.exe deve es- sere salvato nel drive C e il prompt dei comandi deve essere aperto dal drive C. In modalità client, il pro- gramma invia i dati al server e con- trolla se sono tornati indietro, come mostrato nella figura 13. Per testare la demo del server, assicurarsi di uti- lizzare lo strumento eco in modalità client. Fig. 11 – Uno snippet di codice che fornisce una panoramica della struttura del firmware Fig. 12 – Struttura di inizializzazione dell’Echo server

RkJQdWJsaXNoZXIy Mzg4NjYz