Считыватель штрих-кода, имеющий мужской интерфейс UART, подключен через последовательный порт на моем рабочем столе Ubuntu 10.10. Из проприетарного документа readme я узнал, что мне нужно включить квитирование ACK / NAK, чтобы получить ACK или NAK от устройства для команд, которые я посылаю. Я не уверен, как включить тех, кто использует программирование последовательного порта C. В среде Linux.
Может кто-нибудь пролить свет на это?
UPDATE:
Выполнено следующее для включения программного рукопожатия -
system ("stty ixon -ixoff -F /dev/tty");<BR>
bzero (shcmd, 64);<BR>
sprintf (shcmd, "stty ixon -ixoff -F %s", UART_DEVICE);<BR>
system (shcmd);<BR>
Установить скорость -
system("stty speed 9600");<BR>
bzero (shcmd, 64);<BR>
sprintf (shcmd, "stty speed 9600 -F %s", UART_DEVICE);<BR>
system (shcmd);<BR>
Написал команду -
unsigned char req_rev[6] = {0x05,0xA3,0x04,0x00,0xFF,0x55};<BR>
n = write(fd, req_rev, 6);<BR>
Чтение с устройства -
int n = read(fd, result, 254);<BR>
Но я получал "EGAIN" каждый раз, когда читал. Есть идеи, почему я это понимаю?