Перейти к содержанию

VVIV

Members
  • Постов

    3
  • Зарегистрирован

  • Посещение

    Никогда

Profile Information

  • Location
    Сызрань

Достижения VVIV

  1. У меня к ком. порту подцепленно спец. устройство, которое принимает электрические сигналы ( 2, 5 или 3,5) (поэтому скорость не важна) Если говорить о том как бы я стал устанавливать скорость, то написал (после открытия порта) нечто подобное: int com; struct termios newtermios,oldtermios; .... tcgetattr(com,&oldtermios); newtermios.c_flag=B9600|CS8|CREAD|CLOCAL|CRTSCTS; newtermios.c_iflag=IGNPAR|ICRNL; tcsetattr(com,&newtermios);
  2. А как? Что я должен для этого сделать? Предположительно: у меня должен существовать файл типа etc/rc.d/rc.serial и в нем строчка setserial /dev/ttyS0 irq5. Но в той сборке Linux я не нашел setserial. Настройка с помощью структуры termios для меня не важна. Так как мне важно, чтобы уходил хоть какой-то сигнал. Предположительно: при загрузке, Linux открывает порт, при завершении, Linux закывает порт. Вывод сделал на основании фиксации сигналов с порта в момент загрузки и завершения работы с Linux. Кроме этого процессе работы ОС Linux, не получается напрямую (через 0x3f8 работать с портом).
  3. Подскажите, пожайлуста, как правильно работать с Com портом в Linux? Я так понимаю, что работа с Com портом напоминает работу с файлами. Попробывал сделать так: int com; if ((com=open("/dev/ttyS0",O_RDWR|O_NOCTTY))!=-1) { // com во время выполнения == 11 char s[5]="12345"; int i ; i=write(com,s,5); // i во время выполнения == 5 close(com); } вроде бы всё нормально. На самом деле эти 5 байт не уходят в порт. С чем это может быть связано? (Com порт исправен, проверял). Кроме этого пытался в терминале выполнить команду:# echo test>/dev/ttyS0 также безрезультатно, байты не уходят. У меня установлен Linux RedHard (устанавливал с дистрибутива от июня 2007) может какие-нибудь настройки надо сделать в самой ОС?
×
×
  • Создать...