UART(Universal Asynchronous Receiver/Transmitter)是一種用于串行通信的標準接口,常用于連接計算機和外部設備(如傳感器、模塊等)。在Linux系統中,可以通過編程來控制和使用UART接口。下面是Linux下UART編程的基本指南:
int fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY);
if(fd == -1) {
perror("Error opening serial port");
exit(1);
}
struct termios options;
tcgetattr(fd, &options);
cfsetispeed(&options, B9600);
cfsetospeed(&options, B9600);
options.c_cflag |= (CLOCAL | CREAD);
options.c_cflag &= ~PARENB;
options.c_cflag &= ~CSTOPB;
options.c_cflag &= ~CSIZE;
options.c_cflag |= CS8;
tcsetattr(fd, TCSANOW, &options);
char buffer[255];
int n = read(fd, buffer, sizeof(buffer));
if(n < 0) {
perror("Error reading from serial port");
exit(1);
}
char data[] = "Hello, UART!";
int n = write(fd, data, sizeof(data));
if(n < 0) {
perror("Error writing to serial port");
exit(1);
}
close(fd);
以上是Linux下UART編程的基本指南,可以根據具體需求和串口設備的特性進行更進一步的配置和操作。