Linux驱动是如何实现热拔插的?
我用树莓派(一个安装linux的开发板)连接ds18b20温度传感器做小实验,安装好驱动后,发现温度传感器连接树莓派的一个IO引脚后,驱动模块会自动加载,请问linux是怎么探测到传感器连接的呢?
是因为探测IO口的电流或电压变化吗?如果是这样是不是有一个线程一直在查询?还是中断实现的?如果是中断实现的,难道那么多IO引脚都注册了中断吗?
我对系统内核、驱动不是很了解,所以请大神们能不能通俗的给我讲解一下?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我应该可以回答一下这个问题。
1.ds18b20温度传感器是onewire总线的方式连接到树莓派的。
2.是中断的方式实现的。
3.不是每一个IO都注测成onewire总线了,应该是某一个特定的GPIO注册成onewire了。
得先问一下,传感器插的端口是GPIO吗?