Linux串口编程-3-even校验
2012-10-12 00:26
309 查看
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <errno.h> main() { int fd; int i; int len; int n = 0; char b[1]={0x01}; char read_buf[256]; char write_buf[256]; struct termios opt; fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY); //默认为阻塞读方式 if(fd == -1) { perror("open serial 0\n"); exit(0); } tcgetattr(fd, &opt); cfsetispeed(&opt, B9600); cfsetospeed(&opt, B9600); if(tcsetattr(fd, TCSANOW, &opt) != 0 ) { perror("tcsetattr error"); return -1; } opt.c_cflag &= ~CSIZE; opt.c_cflag |= CS8; opt.c_cflag &= ~CSTOPB; opt.c_cflag &= ~PARENB; opt.c_cflag &= ~INPCK; opt.c_cflag |= (CLOCAL | CREAD); opt.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); opt.c_oflag &= ~OPOST; opt.c_oflag &= ~(ONLCR | OCRNL); //添加的 opt.c_iflag &= ~(ICRNL | INLCR); opt.c_iflag &= ~(IXON | IXOFF | IXANY); //添加的 //======================================= //EVEN opt.c_cflag |= PARENB | CS8; opt.c_iflag &= ~PARODD; //======================================= // //===================================== // //space // opt.c_cflag |= PARENB | CS8 | 0X40000000 | PARODD; // //===================================== // //===================================== // //mark // opt.c_cflag |= PARENB | CS8 | CMSPAR ; // opt.c_cflag &= PARODD; // //===================================== opt.c_cc[VTIME] = 0; opt.c_cc[VMIN] = 0; tcflush(fd, TCIOFLUSH); printf("configure complete\n"); if(tcsetattr(fd, TCSANOW, &opt) != 0) { perror("serial error"); return -1; } printf("start send and receive data\n"); while(1) { n = 0; len = 0; printf("hw\n"); bzero(read_buf, sizeof(read_buf)); //类似于memset bzero(write_buf, sizeof(write_buf)); write(fd,b,sizeof b); usleep(50000); } }实验过程,下位机将SM2=1,char b[1]={0x00};不能够进入中断!char b[1]={0x01};能够进入中断!
相关文章推荐
- Linux串口编程-5-space校验
- Linux串口编程-5-space校验2
- Linux串口编程-1-无校验
- Linux串口编程-2-mark校验
- Linux串口编程-4-odd校验
- Linux 串口编程学习
- linux串口编程经典源码
- Linux串口编程入门
- Linux 下串口编程入门
- linux串口编程 非规范模式 read()问题
- Linux串口编程(转:遇到好的文章留下)
- linux串口应用编程入门,文档胜于一切教程
- Linux应用编程之串口
- linux串口编程 非规范模式 read()问题
- Linux 下串口USB等设备通信编程入门1
- 【linux高级程序设计】(第七章)终端及串口编程 未完成
- 入门教程 Linux操作系统下串口设置及编程
- Linux串口编程一次读取全部输入的数据(输入数据不定长)
- POSIX操作系统的串口编程指南(2) 分类: Linux串口编程
- linux串口编程总结