i.MX6ULL终结者Linux按键输入实验按键驱动程序

日期:2020-12-16

  • 本实验例程路径:i.MX6UL终结者光盘资料/06_Linux驱动例程/08_key

    在设备树文件中添加好按键的硬件信息后,创建key.c文件,编写驱动程序,具体内容如下:

    第36行,在按键的设备结构体中添加keyvalue用于记录按键值。

    第 47~65 行,函数 keyio_init 用于初始化按键,从设备树中获取按键的 gpio 信息,然后设置为输入。将按键的初始化代码提取出来,将其作为独立的一个函数有利于提高程序的模块化设计。

    第 74~85行,key_open 函数通过调用 keyio_init 函数来初始化按键所使用的 IO,应用程序每次打开按键驱动文件的时候都会初始化一次按键 IO。

    第 95~112 行,key_read 函数,应用程序通过 read 函数读取按键值的时候此函数就会执行。第 110 行读取按键 IO 的电平,如果为 0 的话就表示按键按下了,如果按键按下的话第111 行就等待按键释放。按键释放以后标记按键值为0xF0。

    第 130 行调用 atomic_set 函数初始化原子变量默认为无效值。

收缩
  • 旺旺咨询
  • 点这里给我发消息
  • 电话咨询

  • 01085270716