Страниц: [1]
  Печать  
Автор Тема: Передача информации через COM порты в C или С++ в QNX650  (Прочитано 1055 раз)
Victor_1945
Участник
*
Offline Offline

Сообщений: 11


Просмотр профиля
« : Июня 12, 2016, 07:32:56 pm »

Прошу оказать консультацию в вопросе передачи информации через соединенные кабелем COM порты в QNX650 на С или С++. В QNX425 эта задачка разобрана и она использует для пересылки ф-ии outp(PORT)и inp(PORT) и реализует нажатие символов на
клавиатуре одного компьютера высвечиванием этих же символов на экране присоединенного через COM порты другого компьютера.
Буду очень признателен  за помощь!!!

                                                     12.06.2016

                                                       Victor_1045         
Записан
A_O
Full Member
***
Offline Offline

Сообщений: 205


Просмотр профиля
« Ответ #1 : Июня 12, 2016, 09:19:24 pm »

inport() -> in8()
outport() -> out8()
Записан
da-nie
Full Member
***
Offline Offline

Сообщений: 167



Просмотр профиля
« Ответ #2 : Июня 13, 2016, 03:52:56 pm »

А в QNX 6.5 разве стандартные функции не работают?

Код:
ThreadCtl(_NTO_TCTL_IO,0);
 //подключаемся к COM-порту
 int COMDriverFileHandle=open("/dev/ser1",O_RDWR);
 if (COMDriverFileHandle<0) return(false);
 //настраиваем COM-порт
 termios termios_COM;
 tcgetattr(COMDriverFileHandle,&termios_COM);//получаем текущие настройки
 cfsetospeed(&termios_COM,9600);
 cfsetispeed(&termios_COM,9600);
 termios_COM.c_iflag=0;
 termios_COM.c_cflag=CREAD|CS8|CSIZE;
 tcsetattr(COMDriverFileHandle,TCSADRAIN,&termios_COM);//устанавливаем новые настройки
 int on=1;
 ioctl(COMDriverFileHandle,FIONBIO,&on);//делаем работу не блокирующей (т.е. функции чтения/записи немедленно возвращают управление)

 char buffer[255];
 sprintf(buffer,"TEST COM\r\n");
 write(COMDriverFileHandle,buffer,strlen(buffer));

 close(COMDriverFileHandle);

Вот программа работы через COM-порт с электронным уровнем Talyvel 4 или 5.

« Последнее редактирование: Июня 14, 2016, 06:06:59 am от da-nie » Записан

И день и ночь в пути
Страниц: [1]
  Печать  
 
Перейти в: