有些天没有写原创了,只要有时间,就坚持写,继续啊。今天来介绍一下python的嵌入式驱动的实现。
Python语言本身,并不能直接有效的控制linux设备文件的操作。我们只能通过c语言把控制linux底层设备文件的操作封装成动态函数库的形式,提供给python语言调用,从而实现python控制底层设备的程序功能。
下面程序,是我用python实现的对键盘事件设备的控制程序。
libkey.so 实现了简单的键盘事件的keyopen(打开键盘事件设备),keyread(键盘的键值读功能),keyclose(关闭键盘事件设备)的三个功能。
本程序执行环境,是用的ubuntu的键盘事件设备文件/dev/input/event3。不同的ubuntu环境,对应的键盘事件设备文件号会有差别。
#!/usr/bin/python
from ctypes import * # cdll, c_int
libkey = cdll.LoadLibrary("./libkey.so")
fd = libkey.keyopen("/dev/input/event3")
code = (c_int * 1)()
value = (c_int * 1)()
while 1:
ret = libkey.keyread(fd, code, value)
if ret == 0:
if code[0] == 1:
break
print "key", code[0],
if value[0] == 0:
print "released"
else:
print "pressed"
libkey.keyclose(fd)
今天先介绍到这。
领取专属 10元无门槛券
私享最新 技术干货