字符驱动有 misc input i2c 三种子系统
用户态跟内核态交互: 系统调用通俗的意思是无法用纯C来实现的函数。内核 异常处理 只要是涉及中断都是异常,异常不是出问题,而是一种处理方式
主设备号:用来区分内核中的各个驱动程序(1-254)
从设备号: 用来区分一个驱动程序中的各个硬件。(0-255)
linux:一切设备皆文件(抽象成可以读写的文件)
设备文件:用户程序与设备驱动的一个接口。(沟通桥梁)应用程序通过对设备文件操作来调用设备驱动
首先我们需要定义这些功能型函数(open,read等)然后定义file_operations,并将这几个功能型函数赋值进去,最后将file_operations结构体注册进内核,这样就有了一个驱动了。
让GPH3_0输出高电平
让GPH2_3输入并且下拉状态
循环读取GPH2_3的引脚值,若为低电平,则未按下,若为高电平,则发生按下事件
自动创建一个设备文件
首先得先定义和创建设备类
销毁一个设备文件,一个设备类。
成功打开设备文件后,函数之间一一对应关系。