若该文为原创文章,转载请注明原文出处。
一、编程思路
程序编写的主要内容为添加 key 的设备树节点、在驱动程序中使用 of 函数获取设备节点中的属性,编写测试应用程序。
• 首先向设备树添加 key 设备节点。
• 其次编写平台设备驱动框架,主要包驱动入口函数、驱动注销函数、平台设备结构体定义 三部分内容。
• 实现.probe 函数,对 key 进行设备注册和初始化。
• 实现字符设备操作函数集,这里主要实现.read操作。
• 编写测试应用程序,读取按键值
二、按键原理
按键输入,在驱动程序中使用 一个整形变量来表示按键值,应用程序通过 read 函数来读取按键值,判断按键有没有按下。
开发板上的按键都是采用 ADC 驱动的,而 RK3568 的 ADC 引脚不能复用为 GPIO。所以 不能直接使用按键来完成本实验,这里使用GPIO3_C5来测试。
默认情况下 GPIO3_C5 是低电平,所以我们通过使用杜邦线将图 13.2.1 中 GPIO3_C5 这个 引脚接到 VCC 上的方式来模拟按键按下。也就是模拟按键按下,GPIO3