[feat] add uart demo
This commit is contained in:
parent
91e3e5195d
commit
79aa594714
42
linux/main.c
Normal file
42
linux/main.c
Normal file
@ -0,0 +1,42 @@
|
||||
#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;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user