ftdi 2.1.0.0
Main Page

FTDI click

‍FTDI Click is a compact add-on board that provides a high-speed USB to a serial interface converter. This board features the FT2232H, a 5th-generation high-speed USB 2.0 to a serial UART/I2C/SPI interface converter from FTDI. The entire USB protocol is handled on the chip (FTDI USB drivers required), making this board ideal for various USB applications. Besides a selectable interface and a standalone operation possibility, it also includes an EEPROM which contains the USB configuration descriptors for the FT2232H and one DA converter for additional reference in user-configurable applications.

click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Feb 2024.
  • Type : UART type

Software Support

We provide a library for the FTDI Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

‍This library contains API for FTDI Click driver.

Standard key functions :

  • ftdi_cfg_setup Config Object Initialization function.
    void ftdi_cfg_setup ( ftdi_cfg_t *cfg );
    void ftdi_cfg_setup(ftdi_cfg_t *cfg)
    FTDI configuration object setup function.
    FTDI Click configuration object.
    Definition ftdi.h:120
  • ftdi_init Initialization function.
    err_t ftdi_init ( ftdi_t *ctx, ftdi_cfg_t *cfg );
    err_t ftdi_init(ftdi_t *ctx, ftdi_cfg_t *cfg)
    FTDI initialization function.
    FTDI Click context object.
    Definition ftdi.h:105

Example key functions :

  • ftdi_generic_write This function writes a desired number of data bytes by using UART serial interface.
    err_t ftdi_generic_write ( ftdi_t *ctx, uint8_t *data_in, uint16_t len );
    err_t ftdi_generic_write(ftdi_t *ctx, uint8_t *data_in, uint16_t len)
    FTDI data writing function.
  • ftdi_generic_read This function reads a desired number of data bytes by using UART serial interface.
    err_t ftdi_generic_read ( ftdi_t *ctx, uint8_t *data_out, uint16_t len );
    err_t ftdi_generic_read(ftdi_t *ctx, uint8_t *data_out, uint16_t len)
    FTDI data reading function.

Example Description

‍This example demonstrates the use of FTDI click by echoing back all the received messages.

The demo application is composed of two sections :

Application Init

‍Initializes the driver and logger.

void application_init ( void )
{
log_cfg_t log_cfg;
ftdi_cfg_t ftdi_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
ftdi_cfg_setup( &ftdi_cfg );
FTDI_MAP_MIKROBUS( ftdi_cfg, MIKROBUS_1 );
if ( UART_ERROR == ftdi_init( &ftdi, &ftdi_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}
#define FTDI_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition ftdi.h:93
void application_init(void)
Definition main.c:30

Application Task

‍Any data which the host PC sends to the Virtual COM Port (for example, typed into the terminal

window in UART Terminal) will be sent over USB to the click board and then it will be read and echoed back by the MCU to the PC where the terminal program will display it. The data will also be displayed on the USB UART.

void application_task ( void )
{
uint8_t rx_data = 0;
if ( ftdi_generic_read ( &ftdi, &rx_data, 1 ) > 0 )
{
ftdi_generic_write ( &ftdi, &rx_data, 1 );
log_printf( &logger, "%c", rx_data );
}
}
void application_task(void)
Definition main.c:60

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.FTDI

Additional notes and informations

Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.