linux字符驱动愚见

字符驱动有 misc input i2c 三种子系统
在这里插入图片描述
用户态跟内核态交互: 系统调用通俗的意思是无法用纯C来实现的函数。内核 异常处理 只要是涉及中断都是异常,异常不是出问题,而是一种处理方式

主设备号:用来区分内核中的各个驱动程序(1-254)
从设备号: 用来区分一个驱动程序中的各个硬件。(0-255)
linux:一切设备皆文件(抽象成可以读写的文件)
设备文件:用户程序与设备驱动的一个接口。(沟通桥梁)应用程序通过对设备文件操作来调用设备驱动

首先我们需要定义这些功能型函数(open,read等)然后定义file_operations,并将这几个功能型函数赋值进去,最后将file_operations结构体注册进内核,这样就有了一个驱动了。
让GPH3_0输出高电平

让GPH2_3输入并且下拉状态
循环读取GPH2_3的引脚值,若为低电平,则未按下,若为高电平,则发生按下事件
自动创建一个设备文件

首先得先定义和创建设备类
在这里插入图片描述
销毁一个设备文件,一个设备类。
成功打开设备文件后,函数之间一一对应关系。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值