我对读取和写入串口有点困惑.我在Linux中有一个使用FTDI USB串行设备转换器驱动程序的USB设备.当我插入它时,它会创建:/ dev/ttyUSB1.
我认为在C中打开和读/写它很简单.我知道波特率和奇偶校验信息,但似乎没有标准吗?
我错过了什么,或者有人能指出我正确的方向吗?
我正在尝试编写一个简单的应用程序来读取 Keithley 6485 皮安表的当前值,该表通过 Linux 上的串行通信(RS232<->USB)连接。
目前,可以通过对设备进行所有必要的初始化并发送“READ?”来检索这样的值。对它:echo "READ?" > /dev/ttyUSB0。然后,如果cat /dev/ttyUSB0一直在监听,我会得到以下输出:-2.250416E-14A,+8.320175E+03,+0.000000E+00,其中第一个数字是所需的值。
为了能够输出值,我使用 termios 库使用以下代码:
/*====================================================================================================*/
/* Serial Port Programming in C (Serial Port Read) */
/* Non Cannonical mode */
/*----------------------------------------------------------------------------------------------------*/
/* Program reads a string from the serial port at 9600 bps 8N1 format */
/* Baudrate - 9600 */
/* Stop bits -1 */
/* No Parity */
/*----------------------------------------------------------------------------------------------------*/
/* Compiler/IDE : gcc 4.6.3 */
/* Library : */
/* Commands : …Run Code Online (Sandbox Code Playgroud)