您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 中断驱动 >

ARM-LINUX按键中断驱动程序

发布时间:2019-06-15 21:02 来源:未知 编辑:admin

  //if(errno !=EAGAIN)//教程中这里是有的,但是不知道为什么每次读不出来按键值,屏蔽后,就可以读出来!如图!

  奶奶的,怎么按一次有的时候会出现多次按下去的情况那?还是驱动的问题!感觉应该是中断的

  上面的应用程序用到了select,其实直接阻塞读,就是直接read也可以得到按键值!我觉得select用在多输入多输出更有意义,也就是说用在多线程编程(例如聊天服务器里面的多点对多点,)。我不清楚用在这里是干什么!(貌似跟进程的效率有关系)、直接阻塞读,就是进程来读,当没有读到数据就一直阻塞,一直到读取到数据才返回!

  按照网上的资料说的是:Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程继续执行,所以效率较高)方式工作的程序,它能够监视我们需要监视的文件描述符的变化情况读写或是异常。

  我觉得吧:像本例中在前面用到for循环,这样就会照成select的效率低下!他也是一直循环的去检查有没有读到数据。这岂不是跟阻塞读差不多啦!

http://rotorooterpa.com/zhongduanqudong/41.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有