C语言open()打开文件
函数:open() --><io.h>(头文件) 函数原型:int open(char *path,int access[,int auth]); 函数解析: char *path —文件路径 int access —打开方式 返回值:成功 返回文件句柄(大于0,不同于access) ,失败 返回-1
#include<stdio.h>
#include<fcntl.h>
int main(void){
int fd = open("/dev/ttyS0", O_RDWR);
if(fd < 0){
printf("can not open the port\n");
return fd;
}
printf("fd:-------%d------\n",fd);
printf("successful to open the port\n");
return 0;
}
LINUX控制终端tcgetattr和tcsetattr
函数 | 功能 | 函数形式 | 返回值 |
---|
tcgetattr | 获取终端参数 | int tcgetattr(int fd, struct termios *termios_p) | 成功0 失败-1 | tcsetattr | 设置终端参数 | int tcsetattr(int fd, int optional_actions, const struct termios *termios_p) | 成功0 失败-1 |
fd为终端的文件描述符,也就是上面打开文件 tcgetattr:返回的结果保存在termios结构体中
LINUX波特率设置函数cfsetospeed和cfsetispeed,波特率获取函数cfgetispeed和cfgetospeed
函数 | 功能 | 函数形式 | 返回值 |
---|
cfsetospeed | 设置输出波特率 | int cfsetospeed(struct termios *termptr, speed_t speed) | 成功0 失败-1 | cfsetispeed | 设置输入波特率 | int cfsetispeed(struct termios *termptr, speed_t speed) | 成功0 失败-1 | cfgetospeed | 获取输出波特率 | speed_t cfgetospeed(const struct termios *termptr) | 成功0 失败-1 | cfgetispeed | 获取输入波特率 | speed_t cfgetispeed(const struct termios *termptr) | 成功0 失败-1 |
串口编程 函数tcflush
函数 | 功能 | 函数形式 | 返回值 |
---|
tcflush | 刷清输入或输出缓存 | int tcflush(int fd, int queue_selector) | 成功0 失败-1 |
queue_selector参数: TCIFLUSH // 清除正收到的数据,且不会读取出来。 TCOFLUSH // 清除正写入的数据,且不会发送至终端。 TCIOFLUSH // 清除所有正在发生的I/O数据。
|