专栏首页python3终端I/O---ttyS3: 3 inp

终端I/O---ttyS3: 3 inp

没系统地学过终端I/O的控制,只是按照别人的要求配置了一下

背景:gps插在串口3上

#include <stdio.h> #include "time.h" #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> int main() {   struct termios opt;   int fd=-1;   int nread;   char buf[1024];   fd=open("/dev/ttyS3" ,O_RDONLY    |O_NONBLOCK); if(fd==-1)    {    printf("open /dev/ttyS3 error\n");    }   tcgetattr(fd,&opt);              //获取终端属性到opt   tcflush(fd,TCIOFLUSH);              //同时刷新收到的数据但是不读,刷新写入的数据但是不传送   cfsetispeed(&opt, B9600);                 //设置输入波特率   cfsetospeed(&opt, B9600);             //设置输出波特率   opt.c_cflag&=~CSIZE;              //(不用     )字符长度掩码。取值为 CS5, CS6, CS7, 或 CS8。   opt.c_cflag |=CS8;              //取值为CS8   opt.c_cflag &= ~PARENB;              //(不用     )允许输出产生奇偶信息以及输入的奇偶校验。   opt.c_iflag &= ~INPCK;              //(不用     )启用输入奇偶检测。   opt.c_cflag &= ~CSTOPB;              //(不用     )设置两个停止位,而不是一个   opt.c_cflag &= ~CRTSCTS;              //(不用     )硬件流控   opt.c_cc[VTIME] = 150;              //非 canonical 模式读时的延时,以十分之一秒为单位   opt.c_cc[VMIN] = 0;                      //非 canonical 模式读的最小字符数   opt.c_lflag    &= ~(ICANON | ECHO) ;              //(不用     )启用标准模式 (canonical mode)允许使用              //特殊字符 EOF, EOL, EOL2, ERASE, KILL, LNEXT, REPRINT,               //和 WERASE,以及按行的缓冲。              //(不用     )回显输入字符。   tcflush(fd,TCIOFLUSH);   tcsetattr(fd,TCSANOW,&opt);              //改变立即发生 while(1)     {         nread = read(fd,buf,1000);         //printf("nread=%d\n",nread);         //if(nread !=-1 )    printf("%s",buf);//打印数据         sleep(2);         memset(buf,0x0,1024);     } if(fd!=-1) close(fd);   return 0; }

我用

  cat /dev/ttyS3

发现输入到串口的数据是对的啊

可是我用上面这个程序去读的时候

出现如下错误啊:

ttyS3: 3 input overrun(s)

ttyS3: 5 input overrun(s)

并且这类问题随程序的执行,一直都慢慢地出来,连绵不绝啊

谁碰到过这个问题,请指教

依旧没有得到解决办法:权益之计,我把arm-linux-2.6内核源码的n_tty.c

611行printk注释掉了,重编内核,就是说,碰到这个警告不让它打印出来

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux Maven+nexus3服务

    下载包:https://www.sonatype.com/download-oss-sonatype

    py3study
  • 第二十六天- C/S架构 通信流程 so

    C/S架构:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可是物理层面)来划分的。这里客户端一般指需先安装再执行的应...

    py3study
  • python模块SocketServer

    参考http://my.oschina.net/u/1433482/blog/190612

    py3study
  • JQuery分析及实现part5之事件模块功能及实现

    ihoey
  • 庖丁解牛:产品需求分析|洞见

    在庄子的《南华经》中有一则寓言。说是有位叫丁的厨师,替梁惠王杀牛, 其技法之娴熟,有行云流水一般的顺畅感。惠王就问他为什么有如此高超的技术。他回答说:“臣所喜好...

    ThoughtWorks
  • 「每日五分钟,玩转JVM」:对象的内存布局

    一个对象根据不同情况可以被划分成两种情况,当对象是一个非数组对象的时候,对象头,实例数据,对齐填充在内存中三分天下,而数组对象中在对象头中多了一个用于描述数组对...

    山禾说
  • 如何研究UI5的库文件是如何从本地仓库加载的

    The knowledge contained in this issue is prerequisite for another [issue](How to...

    Jerry Wang
  • 如何研究UI5的库文件是如何从本地仓库加载的

    The knowledge contained in this issue is prerequisite for another [issue](How to...

    Jerry Wang
  • 使用Python开发SQLite代理服务器

    SQLite数据库使用单个磁盘文件,并且不需要像Oracle、MSSQL、MySQL等数据库管理系统那样启动服务,使用非常灵活方便。但是SQLite也有个很严重...

    Python小屋屋主
  • 学习Julia矩阵操作与保持年轻的秘诀

    话说Julia是一个神奇的语言,语法简单,速度贼快,是吹牛装X的不二神器。记得一个物理学家说过,那些旧理论之所以消失,不是因为人们改变了看法,而是持那种看法的人...

    邓飞

扫码关注云+社区

领取腾讯云代金券