python进阶-嵌入式驱动(1)

有些天没有写原创了,只要有时间,就坚持写,继续啊。今天来介绍一下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)

今天先介绍到这。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180516G1VBOQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励