
linux drive
一个码农要什么昵称
寻寻匿匿
展开
-
Linux input subsystem
最近学习了一下Linux的输入子系统编程,做个记录。简单分为3个部分,一是注册输入设备和键值,二是gpio的配置和申请,最后是中断来临后键值的上报流程。linux设备的注册都是固定套路,主要区别还是在于硬件平台的不同需要做不同的处理。static struct input_dev *key_dev;static irqreturn_t key_interrupt(int irq,...原创 2018-11-25 22:47:09 · 168 阅读 · 0 评论 -
tasklet & workqueue
为了提升内核的响应速度,中断处理往往会分成上半部和下半部来执行。上半部在中断处理函数中处理少量事物并激活下半部,一般通过tasklet 或 workqueue 来实现。workqueue 参考:void workqueue_func(struct work_struct *work) // 下半部执行函数{ printk("workqueue bottom half\n"); ...原创 2018-11-26 22:37:35 · 187 阅读 · 0 评论 -
i2c
i2c是使用非常广泛的通信协议,tp,sensor都用它,今天就来熟悉总结一下i2c的使用//i2c 写操作static int my_i2c_write(struct i2c_client *client, u8 addr, u8 *pdata, int datalen){ int ret = 0; unsigned int write_buf_len = 0; u8 write...原创 2018-12-08 23:30:42 · 381 阅读 · 0 评论