等待串行写入完成,然后继续

时间:2019-02-05 19:22:11

标签: c serial-port

我正在尝试通过Raspberry Pi 3 B +上的UART端口与编码器通信。我已禁用Pi上的蓝牙以充分利用UART端口,并且正在以2000000b / s的速度通话。

我已经用示波器验证了这一点,但是我遇到的问题是,必须在写入完全完成后将Raspberry Pi上的GPIO引脚设置为高电平。现在,写入将始终写得很好,但是我需要设置的引脚将始终在写入中间变高。

int sfd = open("/dev/serial0", O_RDWR | O_NOCTTY); 
wiringPiSetup();
pinMode(21, OUTPUT);
struct termios options;
tcgetattr(sfd, &options);
cfsetspeed(&options, B2000000);
cfmakeraw(&options);
options.c_cflag &= ~CSTOPB;
options.c_cflag |= CLOCAL;
options.c_cflag |= CREAD;
options.c_cc[VTIME]=1; 
options.c_cc[VMIN]=100;
tcsetattr(sfd, TCSANOW, &options);
char buf[] = {"T"};
digitalWrite(21, LOW);
int count = write(sfd, buf,strlen(buf));
digitalWrite(21, HIGH);

我希望在写入完全完成后gpio引脚变高

0 个答案:

没有答案
相关问题