当前位置: 首页 > news >正文

如何选择购物网站建设手机网站轮播图

如何选择购物网站建设,手机网站轮播图,公司的英文,浦东新区苏州网站建设一、 串口API 在Linux系统中,操作设备的统一接口就是:open/ioctl/read/write。 对于UART,又在ioctl之上封装了很多函数,主要是用来设置行规程。 所以对于UART,编程的套路就是: open设置行规程,比如波特率、数据位、停止位、检验位、RAW模式、一有数据就返回read/write 怎么设置…一、 串口API 在Linux系统中,操作设备的统一接口就是:open/ioctl/read/write。 对于UART,又在ioctl之上封装了很多函数,主要是用来设置行规程。 所以对于UART,编程的套路就是: open设置行规程,比如波特率、数据位、停止位、检验位、RAW模式、一有数据就返回read/write 怎么设置行规程?行规程的参数用结构体termios来表示,可以参考Linux串口—struct termios结构体 typedef unsigned char cc_t; typedef unsigned int speed_t; typedef unsgined int tcflag_t;#define NCCS 19 struct termios {tcflag_t c_iflag; /* input mode flags */tcflag_t c_oflag; /* output mode flags */tcflag_t c_cflag; /* control mode flags */tcflag_t c_lflag; /* local mode flags */cc_t c_line; /* line discipline */cc_t c_cc[NCCS]; /* control characters */ };这些函数在名称上有一些惯例 tc: terminal controlcf: control flag 函数名作用tcgetattrget terminal attributes,获得终端的属性tcsetattrset terminal attributes,修改终端参数tcflush清空终端未完成的输入/输出请求及数据cfsetispeedsets the input baud rate,设置输入波特率cfsetospeedsets the output baud rate,设置输出波特率cfsetspeed同时设置输入、输出波特率 函数不多,主要是需要设置好termios中的参数,这些参数很复杂,可以参考Linux串口—struct termios结构体。 二、编程 #include stdio.h #include string.h #include sys/types.h #include errno.h #include sys/stat.h #include fcntl.h #include unistd.h #include termios.h #include stdlib.hint set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop) {struct termios newtio, oldtio;if(tcgetattr(fd, oldtio) ! 0) {perror(SetupSerial 1);return -1;}bzero(newtio, sizeof(newtio));newtio.c_cflag | CLOCAL|CREAD;newtio.c_cflag ~CSIZE;newtio.c_lflag ~(ICANON|ECHO|ECHOE|ISIG);newtio.c_oflag ~OPOST;switch(nBits) {case 7:newtio.c_cflag | CS7;break;case 8:newtio.c_cflag | CS8;break;}switch(nEvent) {case 0:newtio.c_cflag | PARENB;newtio.c_cflag | PARODD;newtio.c_iflag | (INPCK | ISTRIP);break;case E:newtio.c_iflag | (INPCK|ISTRIP);newtio.c_cflag | PARENB;newtio.c_cflag ~PARODD;break;case N:newtio.c_cflag ~PARENB;break;}switch(nSpeed) {case 2400:cfsetispeed(newtio, B2400);cfsetospeed(newtio, B2400);break;case 4800:cfsetispeed(newtio, B4800);cfsetospeed(newtio, B4800);break;case 9600:cfsetispeed(newtio, B9600);cfsetospeed(newtio, B9600);break;case 115200:cfsetispeed(newtio, B115200);cfsetospeed(newtio, B115200);break;default:cfsetispeed(newtio, B9600);cfsetospeed(newtio, B9600);break;}if(nStop 1)newtio.c_cflag ~CSTOPB;else if(nStop 2)newtio.c_cflag | CSTOPB;newtio.c_cc[VMIN] 1;newtio.c_cc[VTIME] 0;tcflush(fd, TCIFLUSH);if((tcsetattr(fd, TCSANOW, newtio)) ! 0) {perror(com set error);return -1;}return 0; }int open_port(char *com) {int fd;fd open(com, O_RDWR|O_NOCTTY);if(-1 fd) {return -1;}if(fcntl(fd, F_SETFL, 0) 0) {printf(fcntl failed\n);return -1;}return fd; }int main(int argc, char *argv[]) {int fd;int iRet;char c;if(argc ! 2) {printf(Usage: \n);printf(%s /dev/ttySAC1 or other\n, argv[0]);return -1;}fd open_port(argv[1]);if(fd 0) {printf(open %s err!\n, argv[1]);return -1;}iRet set_opt(fd, 115200, 8, N, 1);if(iRet) {printf(set port err!\n);return -1;}printf(Enter a char: );while(1) {scanf(%c, c);iRet write(fd, c, 1);iRet read(fd, c, 1);if(iRet 1) {printf(get: %02x %c\n, c, c);} else {printf(can not get data\n);}}return 0; }三、上机实验 短接串口的RX和TX rootnpi:~/test# ./a.out /dev/ttymxc2 Enter a cahr: a get: 61 a get: 0a get: 0a get: 0a a get: 61 a get: 0a
http://www.hkea.cn/news/14266440/

相关文章:

  • 北京网站设计公司地址南宁网站建设 超薄网络
  • 长沙做手机网站代客做网站
  • 网站设计模板照片吕梁seo网站建设
  • 深圳微信网站制作网页画图工具
  • 怎么搭建个人网站电脑做服务器设计在线看
  • 昆明建设厅网站百度账号快速注册
  • asp企业网站模版google提交网站入口
  • 翻译做网站wordpress文字大小
  • asp科技公司网站源码做网站怎么设置背景
  • 临县网站建设管理咨询网站
  • 网站开发技术岗位职责视频制作模板
  • 注册网站流程手机字体下载大全免费网站
  • 设计师自己的网站营销手段和营销方式
  • 做网站第三方网站页面设计培训班
  • 查询类网站用什么做清华大学有关网站建设的书
  • 网站正在备案网站建设价格规范
  • 沈阳做微网站黄冈网站建设哪家快些
  • 自己买服务器建设网站上海室内设计工作室排名
  • 网站开发怎么挣外快百度收录要多久
  • 学校网站建设的风险分析wap仿制网站教程
  • 深圳php网站建设自己 做 网站
  • 动易网站迁移制作天下网站
  • 制作公司网站的步骤赶集网网站建设ppt模板
  • 电商推广绩效站内优化
  • 网站 被黑重庆商家网站
  • 网站建设介绍专门做自助游的网站
  • 做网站可以设账户吗网站模板超市
  • 响应式网站模板 食品工业设计产品设计公司排名
  • 做直播网站软件有哪些叶县网站建设
  • 布吉网站建设哪家公司便宜点网站后期的维护