在unix-like OS下同步和“原始”访问USB串行

时间:2012-06-24 07:44:55

标签: c unix serial-port usbserial

我有一个AVR,我已将其设置为在插入计算机时充当USB串行设备。我想通过串口发送命令。

但是,我无法获得发送和接收回复的命令。我一次发送16位数据并期望收到16位回复,但是我的程序挂起等待回复。我怀疑它与串行和USB驱动器上的输出缓冲有关。

我试图找到控制串口的方法,但很难找出我需要的选项,因为很多选项只适用于真正的串口(不是USB串口)。

目前,我正在使用此代码打开设备文件

int fd = open(device, O_RDWR | O_NDELAY | O_SYNC | O_NOCTTY);
struct termios tio = {0};
cfmakeraw(&tio);
tio.c_cc[VMIN] = 2;
tcsetattr(fd,TCSANOW,&tio);

任何人都可以帮我选择合适的选项吗?我只需要同步,直接访问,没有(或很少)输出缓冲。

0 个答案:

没有答案