这次主要用来测试一下GPIO作为输入的程序开发。还是使用昨天的针脚,首先想到的是采用轮询方式,不过这种会有很大的开销,实用价值并不大,程序如下:
在针脚碰到了低电平时,就会显示当前的系统时间戳,由于while循环非常快,因此,一次简单的按键,终端中就会疯狂的打印当前的时间戳。
第二种是使用linux的poll函数,poll是Linux中的字符设备驱动中的一个函数。Linux 2.5.44版本后,poll被epoll取代。和select实现的功能差不多,poll的作用是把当前的文件指针挂到等待队列。
以下是实现的代码:
在poll之后,还加入了延时对按键进行消抖,不过测试的时候还是会发现有概率产生抖动现象。
|