demo/linux/main.c
2024-05-16 17:38:23 +08:00

42 lines
946 B
C

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <termios.h>
#include <string.h>
int main() {
int fd;
struct termios options;
// 打开 UART 设备文件
fd = open("/dev/ttyS3", O_RDWR | O_NOCTTY | O_NDELAY);
if (fd == -1) {
perror("open_port: Unable to open UART device");
return -1;
}
// 配置 UART 设备参数
tcgetattr(fd, &options);
options.c_cflag = B115200 | CS8 | CLOCAL | CREAD;
options.c_iflag = IGNPAR;
options.c_oflag = 0;
options.c_lflag = 0;
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &options);
// 读取和写入 UART 数据
char buf[128];
//memset(buf, 0x5A, sizeof(buf));
//write(fd, buf, 78);
//sleep(1);
int n = read(fd, buf, sizeof(buf));
if (n > 0) {
printf("Received data: %d, %s\n", n, buf);
}
write(fd, "Hello, UART!\n", 13);
close(fd);
return 0;
}