c 串口编程
时间: 2023-12-12 19:03:30 浏览: 10
串口编程是指通过串口通信实现数据的传输和通信,一般是通过串口通信协议来实现的。在 C 语言中,可以使用串口通信的 API 来进行编程。下面是一个简单的串口编程示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <termios.h>
#include <unistd.h>
int main()
{
int fd;
char buf[256];
struct termios opt;
// 打开串口设备
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
if (fd < 0) {
perror("open");
exit(1);
}
// 设置串口参数
tcgetattr(fd, &opt);
cfsetispeed(&opt, B9600);
cfsetospeed(&opt, B9600);
opt.c_cflag |= (CLOCAL | CREAD);
opt.c_cflag &= ~PARENB;
opt.c_cflag &= ~CSTOPB;
opt.c_cflag &= ~CSIZE;
opt.c_cflag |= CS8;
tcsetattr(fd, TCSANOW, &opt);
// 发送数据
strcpy(buf, "Hello World!\n");
write(fd, buf, strlen(buf));
// 接收数据
memset(buf, 0, sizeof(buf));
read(fd, buf, sizeof(buf));
printf("Received: %s", buf);
// 关闭串口设备
close(fd);
return 0;
}
```
在上述示例中,我们首先打开了一个串口设备 `/dev/ttyS0`,然后设置了串口参数(波特率等),接着向串口发送了一条数据 "Hello World!\n",最后读取了从串口接收到的数据并打印出来。注意,在使用串口设备时需要先设置好串口参数,否则可能会出现数据传输错误的情况。