Salta la barra di navigazione [1] - Vai alla barra di navigazione [3] - Scrivimi una mail [4]

L'integrato FT2232H e Windows XP

Sommario - Novità - Tutorial - Progetti - Risorse - Non solo elettronica

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:

Installazione dei driver

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.

Il primo programma: helloREALworld

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...

L'hardware

Fate riferimento a quanto detto a proposito del programma in ambiente linux.

Scrivere il programma

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.

Un nuovo progetto VisualC++

Il progetto è costituito da:

I due file ftd2xx posso essere aggiunti cliccando con il tasto destro sulle voci padre del menu di sinistra.

Progetto VisualC: visione d'insieme

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).

Scarica il file sorgente

Usare l'USB: l'integrato FT2232H

Licenza "Creative Commons" - Attribuzione-Condividi allo stesso modo 3.0 Unported


EN - Pagina principale - Sommario - Accessibilità - Note legali e privacy policy - Posta elettronica

XHTML 1.0 Strict - CSS 3