Даже вот так не работает
#include <sys/types.h>
#include <sys/stat.h>
#include <termios.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include <unistd.h>
#define BAUDRATE B9600
#define DEVICE "/dev/ttySP2"
main(){
printf("hello");
int fd;
struct termios opt;
fd = open(DEVICE, O_RDWR | O_NOCTTY | O_NDELAY);
if ( fd < 0 ){
perror(DEVICE);
}
unsigned char data[200] = "Hellodkslnkfndkslakdjaskldjaskldjasasdasdasd";
opt.c_cflag = B9600 | CS8 | CLOCAL | CREAD;
opt.c_iflag = IGNPAR;
opt.c_lflag = 0;
opt.c_oflag = 0;
opt.c_cc[VMIN] = 0; //Minimum bytes available
opt.c_cc[VTIME] = 0;
tcflush(fd, TCIFLUSH);
tcsetattr (fd, TCSANOW, &opt);
// while(1){
printf("Sending\n");
int sended = write(fd, &data, 20);
tcflush(fd, TCIOFLUSH);
sleep(5);
// }
}
программа завершается через 5 секунд.
Если убрать sleep, что бы программа завершалась сразу после записи в линию, то данные в линию уходят.