0
爲了向外部設備發送命令,我使用FTDI的TTL-232R-3V3線。我想在那裏設定具體的路徑,以高或低。奇偶或停止位不是必需的。FTDI TTL與Linux
我的操作系統是Ubuntu Linux 13.04。
我想開發一個Java或C應用程序,它可以發送這些命令。但是,當我嘗試安裝電線的驅動程序時出現錯誤:
我遵循this指令,並且我決定安裝D2XX驅動程序。我想我已經成功安裝了第2.1步中描述的共享對象和靜態庫,無論如何我沒有收到任何錯誤消息。
但是,當我嘗試編譯示例代碼,如步驟3中所述,我得到以下輸出執行make -B
命令。
for n in BitMode EEPROM/erase EEPROM/read EEPROM/write EEPROM/user/read EEPROM/user/size EEPROM/user/write Events LargeRead MultiThread SetVIDPID Simple Timeouts ; do make -C $n || exit 1; done
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/BitMode'
gcc main.c -o bitmode -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/BitMode'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/erase'
gcc main.c -o erase -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/erase'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/read'
gcc main.c -o read -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/read'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/write'
gcc main.c -o write -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/write'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/read'
gcc main.c -o readua -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/read'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/size'
gcc main.c -o sizeua -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/size'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/write'
gcc main.c -o writeua -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/write'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/Events'
gcc main.c -o events -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/Events'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/LargeRead'
gcc main.c -o largeread -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/LargeRead'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/MultiThread'
gcc main.c -o multi -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/MultiThread'
gcc main.c -o multi -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
/usr/bin/ld: /tmp/ccoAsrRg.o: undefined reference to symbol '[email protected]@GLIBC_2.2.5'
/usr/bin/ld: note: '[email protected]@GLIBC_2.2.5' is defined in DSO /lib/x86_64-linux- gnu/libpthread.so.0 so try adding it to the linker command line
/lib/x86_64-linux-gnu/libpthread.so.0: could not read symbols: Ungültiger Vorgang
collect2: Fehler: ld gab 1 als Ende-Status zurück
make[1]: *** [multi] Fehler 1
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples /MultiThread'
make: *** [subdirs] Fehler 1
我該如何解決這個錯誤?有人有這種線和Linux的經驗嗎? 在此先感謝!
非常感謝!抱歉回覆晚了。是的,你說得對,有一個名爲'ttyUSB0'的設備。我嘗試按照[this](https://en.wikibooks.org/wiki/Serial_Programming:Unix/termios#open.282.29)教程中的描述打開串口。我下載了termios頭文件,但我無法執行它。什麼是FD?這是一個變量嗎? Eclipse只是說:'Symbol'fd'無法解析'。你(或其他人)知道一個好的教程嗎? – IndexOutOfBoundsException
fd是文件描述符的常用變量名稱。正如'int fd = open(「/ dev/ttyUSB0」,O_RDWR | O_EXCL);'好的,那個教程有很多重要的部分,你只需要聲明fd爲'int fd;'''''' 'termios.h'文件已經在你的Linux系統上,它是系統頭文件之一。如果沒有,您可能需要使用軟件包管理器來安裝系統頭文件。 –
好的。我現在已經管理(我希望如此)打開,自定義和關閉端口。 [在這裏查看代碼](http://ubuntuone.com/2OI7ffdDMjpZWOuZ5xFbrG)。但我不知道我必須使用什麼命令來設定一條路徑爲高/低。我有一個LED連接到地,另一條線連接到「串行端口」連接到我的電腦時打開。我該如何關閉又重新打開它? – IndexOutOfBoundsException