在beaglebone b上读取事件文件C和python时观察到的差异

2024-05-14 08:23:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用了以下的涡轮:

http://hipstercircuits.com/capture-input-events-via-gpio-on-beaglebone-black/

这个python代码通过读取事件文件来工作,然后文件读取调用是一个阻塞调用,直到事件发生为止。在

在开始工作之后,我创建了一个模仿python代码的c实现,在阅读python中的文件“/dev/input/event1”时,使用了以下命令:

evt_file = open("/dev/input/event1", "rb")
while True:
    evt = evt_file.read(16) 
    evt_file.read(16) 
    #Do stuff

如前所述,这段代码是一个阻塞调用,直到发生了一个事件,这段代码读取了1个事件的内容,在做了一个C实现之后,我发现我需要以下代码来工作:

^{pr2}$

正如在python实现中看到的,我读取了32个字符,在C实现中我读取了8个字符,但是我发现它们从文件中读取的信息量是相同的,因为它们在我生成的每个事件中都会有一次异常的反应,有人知道为什么吗?在


Tags: 文件代码devcomhttpreadinput事件

热门问题