0

我在使用 termios 库发送数据时遇到问题

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

int main(int argc, char **argv){
    int fd;
    fd = open("/dev/ttyACM0",O_RDWR | O_NOCTTY | O_NDELAY);

    struct termios konzola;
    konzola.c_iflag = 0;
    konzola.c_oflag = 0;
    konzola.c_lflag = 0;
    konzola.c_cflag = 0;

    konzola.c_cflag = CS8 | CLOCAL | B9600 ;
    konzola.c_cc[VTIME]= 0;
    konzola.c_cc[VMIN] = 1;
//  if(cfsetospeed(&konzola, B9600) != 0) printf("error\n");
    if(tcsetattr(fd,TCSANOW, &konzola) != 0) printf("error\n");
    int i;
    for(i = 1; i < argc; i++){
        write(fd, argv[i], 1);
        tcdrain(fd);
        write(1, argv[i], 1);
    }

    close(fd);
}

在接收方面,我得到了完全的垃圾。我正在使用 Arduino Uno 作为接收设备。我哪里搞砸了?:)

4

0 回答 0