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.if.t.u-tokyo.ac.jp/~mita/EInfo/JSAP2015/01-FT245-LED.html