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

360网站收录提交wordpress方小程序主题

360网站收录提交,wordpress方小程序主题,重庆高校在线平台,四川网站seo以前跟着做过VxWorks的开发#xff0c;主要通信方式是串口#xff0c;因为底层BSP包已经做好了#xff0c;串口通信非常简单。后来接触Linux#xff0c;在一块OK6410上跑Linux串口通信#xff0c;才发现原来天真的以为甚是简单的串口变得如此的不简单。 #include ter…以前跟着做过VxWorks的开发主要通信方式是串口因为底层BSP包已经做好了串口通信非常简单。后来接触Linux在一块OK6410上跑Linux串口通信才发现原来天真的以为甚是简单的串口变得如此的不简单。 #include termios.h 1、串口的操作 1.1打开fd open(/dev/ttySAC1, O_RDWR | O_NOCTTY | O_NDELAY);               O_RDWR 读写方式打开               O_NOCTTY 不允许进程管理串口不太理解一般都选上               O_NDELAY 非阻塞默认为阻塞打开后也可以使用fcntl()重新设置 1.2写入n write(fd, linux, 5);                 n实际写入字节数 1.3读取res read(fd,buf,len);                  res 读取的字节数 1.4设置fcntl(fd, F_SETFL, FNDELAY); //非阻塞                  fcntl(fd, F_SETFL, 0); // 阻塞 1.5关闭close(fd); 2、串口配置 struct termios options;  // 串口配置结构体 tcgetattr(fd,options); //获取当前设置 bzero(options,sizeof(options)); options.c_cflag  | B115200 | CLOCAL | CREAD; // 设置波特率本地连接接收使能 options.c_cflag ~CSIZE; //屏蔽数据位 options.c_cflag  | CS8; // 数据位为 8 CS7 for 7 options.c_cflag ~CSTOPB; // 一位停止位 两位停止为 | CSTOPB options.c_cflag ~PARENB; // 无校验  //options.c_cflag | PARENB; //有校验 //options.c_cflag ~PARODD // 偶校验 //options.c_cflag |  PARODD    // 奇校验 options.c_cc[VTIME] 0; // 等待时间单位百毫秒 读。后有详细说明 options.c_cc[VMIN] 0; // 最小字节数 读。后有详细说明 tcflush(fd, TCIOFLUSH); // TCIFLUSH刷清输入队列。                                        TCOFLUSH刷清输出队列。                                         TCIOFLUSH刷清输入、输出队列。 tcsetattr(fd, TCSANOW, options); // TCSANOW立即生效                                                         TCSADRAINWait until everything has been transmitted                                                         TCSAFLUSHFlush input and output buffers and make the change 3、VTIME 和  VMIN VTIME  定义要求等待的零到几百毫秒的值(通常是一个8位的unsigned char变量)。 VMIN 定义了要求等待的最小字节数, 这个字节数可能是0。 只有设置为阻塞时这两个参数才有效仅针对于读操作。 说起来比较复杂举个例子吧设置为阻塞状态写操作未进行实验这里仅讨论读操作 read(fd,buf,8); // 读串口 3.1 options.c_cc[VTIME] 0; options.c_cc[VMIN] 0; VMIN 0当缓冲区字节数 0 时进行读操作实际上这时读串口操作并未被阻塞因为条件始终被满足。 3.2 options.c_cc[VTIME] 0; options.c_cc[VMIN] 1; VMIN 1当缓冲区字节数  1 时进行读操作当没有数据时读串口操作被阻塞。 3.3 options.c_cc[VTIME] 0; options.c_cc[VMIN] 4; VMIN 4当缓冲区字节数  4 时进行读操作否则读串口操作被阻塞。每次读出的最大字节数由read函数中第三个参数决定。直到缓冲区剩下的数据 read 第三个参数 并且 4 如果这时read第三参数为 1 则进行4次读操作直至读完缓冲区如read第三参数为2连续进行读操作直至缓冲区空或还剩一个字符。没有设置VTIME剩下的字符没有确定的期限直到下次满足读条件的时候才被读出。 ----------------------------------考虑VTIME----------------------------- 3.4 options.c_cc[VTIME] 10; //单位百毫秒 options.c_cc[VMIN] 4; 同3.3的区别就是没满足条件或读缓冲区中剩下的数据会在1秒10百毫秒后读出。另外特别注意的是当设置VTIME后如果read第三个参数小于VMIN 将会将VMIN 修改为read的第三个参数即使用read(fd,buf,2);以上设置变为 options.c_cc[VTIME] 10; options.c_cc[VMIN] 2;
http://www.sadfv.cn/news/307841/

相关文章:

  • 如何做静态页网站南京做网站哪家最好
  • 新闻类的手机网站怎么做上海手机响应式网站建设设计
  • 开淘宝店和做网站有什么区别蛙蛙写作网站
  • 手机上怎么做投票网站seo工作室合作
  • 网站建设电影做外贸是不是必须有网站
  • 做网站最简单的域名解析大全
  • 石岩做网站公司知名商业网站有哪些
  • wordpress文章底部版权声明北京优化seo排名
  • 电子商务网站建设的评估工具网络营销分销策略是什么
  • 场口一站式建站哪家公司好share群组链接分享
  • 淄博网站排名优化网站设计与开发培训
  • 工业风 网站建设wordpress谷歌地图插件
  • 网站程序和空间区别汕头网站制作后缀
  • iis网站防盗链重庆网站推广系统
  • 如何搭建自己得网站我国数字经济报告
  • 文件外链生成网站渭南做网站的公司电话
  • 沈阳市住房和城乡建设局网站首页建设植绒衣架网站
  • 做简单网站用什么软件有哪些南京企业网站设计
  • 网站收费系统平台wordpress 显示小工具栏
  • 网站seo新闻音乐门户网站模板
  • 网站logo修改网站ip拦截
  • 网站开发外包公司坑wordpress register_taxonomy
  • 怎么看网站是否织梦天津网站建设工具
  • 北京建设教育协会网站seo外推
  • 二级域名网站如何申请吗萧山工程建设有限公司网站
  • 做网站潜江h5网站源代码
  • 济南电商网站建设简单的企业网站cms
  • 建站之星网站建设下载版wordpress add option
  • 检测网站是否做了301wordpress 发视频
  • 怎么用linux做网站服务器如何用ps做网站首页的图片