Как правильно писать в инфракрасный порт

Автор: iam0x70 Дата: 15.09.2003 18:49 Я взял небольшой кусочек из чей-то работающей программы по приему сигналов и попытался приделать отсылку данных в порт. В качестве инструмента взял пульт от ТВ. Данные получает и отсылает, но эффекта никакого(может какую-нибудь опцию, функцию, константу забыл?)
Вот программа.

#include <termios.h>
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>

int main(void)
{
char symb,buff[90];
struct termios myt;
int ird,i;

if((ird=open("/dev/ttyS1",O_RDWR|O_NONBLOCK))==-1)
exit(-1);
bzero(&myt,sizeof(myt));
bzero(&buff,64);
myt.c_cflag=CLOCAL|CS8|CREAD|B4800;
tcflush(ird,TCIFLUSH);
tcsetattr(ird,TCSANOW,&myt);

printf("Are you ready for bzzz? ";-);
symb=getchar();
if(symb!='y')
{
exit(1);
}
symb=0;
i=0;
usleep(1000);
while(read(ird,&symb,1)==1 || i<64)
{
buff=symb;
i++;
// printf("<%X>",buff);
}

usleep(2000);
tcflush(ird,TCIFLUSH);
tcflush(ird,TCOFLUSH);
printf("Are you ready for bzzz? ";-);
read(0,&symb,1);
//printf("%c",symb);
if(symb!='y')
{
exit(1);
}


do
{
write(ird,&buff,1);
printf("<%c>",buff);
i--;
}
while(i!=0);
printf(" ";-);
for(i=0;i<10;i++)
{
read(ird,&symb,1);
printf("<%c>",symb);
}
close(ird);
return 0;
}
RSS-материал