Questa pagina contiene materiale obsoleto
Iniziare ad usare questo integrato con Windows XP in ambiente VisualC++ è semplice anche se i passaggi richiedono una certa familiarità con il compilatore.
Innanzitutto la configurazione usata per i test:
I driver sono disponibili direttamente sul sito FTDI. La versione utilizzata è l'ultima disponibile (D2XX 2.06.00). Ho avuto qualche problema durante l'installazione risolti utilizzando il setup eseguibile, disponibile sulla stessa pagina.
La versione "reale" del classico "hello world": far lampeggiare due LED.
Prima di cominciare occorre aver sottomano sia la D2XX Programmer's Guide sia i fogli tecnici del componente FT2232H Dual High Speed USB to Multipurpose UART/FIFO IC, entrambi disponibili sul sito FTDI. E magari leggerli velocemente...
Fate riferimento a quanto detto a proposito del programma in ambiente linux.
Occorre avviare Visual Studio 2008 e creare un progetto Win32 console, cioè senza interfaccia grafica. E' sufficiente, d'ora in avanti, confermare tutte le opzioni proposte.
Il progetto è costituito da:
I due file ftd2xx posso essere aggiunti cliccando con il tasto destro sulle voci padre del menu di sinistra.
Qualche nota sul file sorgente che potete scaricare a fine pagina:
FT_HANDLE ftHandle;
ftStatus = FT_Open(0, &ftHandle); // Open FT2232H and assign to
"handle"
Tutti gli accessi al FT2232H saranno effettuati con questa "maniglia", concettualmente simile agli handle usati per i file.
Dopo ogni chiamata alle funzioni FT_xxx() è buona norma verificare sempre la presenza di errori con il blocco:
if(ftStatus != FT_OK)
// Error?
{printf("Error code: %d \n", ftStatus);
return(1);
}
Non è strettamente necessario per la funzionalità del programma ma vi consiglio di farlo, nulla è peggio di un programma che si blocca "inspiegabilmente" a causa di un connettore USB scollegato...
ftStatus = FT_SetBitMode(ftHandle, Mask, Mode); // Setup mode
Configuro il funzionamento dell'integrato: scrittura parallela di bit attraverso il buffer FIFO. FT2232H permette una discreta varietà di modi di funzionamento: quello presentato è il più semplice.
for (;;) //
Infinite loop
{TxBuffer[0]=0x40; //0100 0000 - LED1 ON (connected to ADBUS6)
ftStatus = FT_Write(ftHandle, TxBuffer, 1, &BytesWritten);
Sleep(1000);
TxBuffer[0]=0x20; //0010 0000 - LED2 ON (connected to ADBUS5) - LED1 OFF
ftStatus = FT_Write(ftHandle, TxBuffer, 1, &BytesWritten);
Sleep(1000);
}
}
Le parentesi graffe {} con la tastiera italiana in ambiente Windows si ottengono tenendo premuto ALT e digitando di seguito 1 2 3 oppure 1 2 5
Per compilare ed eseguire il programma si utilizzano le apposite voci del menù (oppure i tasti funzione F7 e F5). Ovviamente occorre prima collegare la scheda al connettore USB del computer.
I due LED dovrebbero lampeggiare con frequenza pari ad un secondo, fino all'interruzione manuale del programma attraverso l'apposita voce del menù (oppure CTRL+C se si lancia da linea di comando).
Usare l'integrato FT2232H -
OBSOLETO - Versione 0.3 - Febbraio 2010
Copyright 2009-2010, Vincenzo Villa (https://www.vincenzov.net)
Quest'opera stata rilasciata con licenza Creative Commons | Attribuzione-Condividi allo stesso modo 3.0 Unported