FT2232をbitbangモード(パラレルIO)で使ってみたい!

FTDI社のFT2232デバイスを使ってBitbangモードでパラレル制御をやってみました。
OSはUbuntu16.04です。

●背景
いつもはFT2232デバイスをつかってUARTモードでしか使っていなかったのですが、訳あってパラレルでも使いたくなったので、専用ドライバを入れてパラレルで動かしてみることに。


●ドライバのインストール
今回は、オープンソースのlibftdiドライバを使いました。
https://www.intra2net.com/en/developer/libftdi/download.php

 

1)libftdi1-1.4.tar.bz2をダウンロードします。
2)$ tar -zxvf libftdi1-1.4.tar.bz2
3)$ cd libftdi1-1.4/
4) READMEに書いてあるとおりにする。sudo 権限でです。
5) 以下が私の環境で展開されたファイルなど
-- Install configuration: "RelWithDebInfo"
-- /usr/lib/pkgconfig/libftdi1.pc
-- /usr/lib/pkgconfig/libftdipp1.pc
-- /usr/bin/libftdi1-config
-- /usr/lib/cmake/libftdi1/LibFTDI1Config.cmake
-- /usr/lib/cmake/libftdi1/LibFTDI1ConfigVersion.cmake
-- /usr/lib/cmake/libftdi1/UseLibFTDI1.cmake
-- /usr/lib/libftdi1.so.2.4.0
-- /usr/lib/libftdi1.so.2
-- /usr/lib/libftdi1.so
-- /usr/lib/libftdi1.a
-- /usr/include/libftdi1/ftdi.h
6)前提として、libusbはインストール済みです。
なければ、apt-get install libusbなんとかでインストールしておきます。

●サンプルコードのコンパイル
libftdi1-1.4/examples/bitbang.cをコンパイルしてみます。
1)$ gcc bitbang.c -I /usr/include/libftdi1/ -L /usr/lib -lftdi1
-I:includeディレクト
   -L:libraryのディレクト
-l:リンクライブラリ libftdi1.so とかなんとかがあるので libを除いたファイル名を指定しました
 お!コンパイルはうまく行ったみたい。

 

APIのdocument

https://www.intra2net.com/en/developer/libftdi/documentation/group__libftdi.html#ga01199788c36ba93352f155a79ea295e8


●参考にさせていただいたサイト
https://www.if.t.u-tokyo.ac.jp/~mita/EInfo/JSAP2015/01-FT245-LED.html