Linux驱动是如何实现热拔插的?

我用树莓派(一个安装linux的开发板)连接ds18b20温度传感器做小实验,安装好驱动后,发现温度传感器连接树莓派的一个IO引脚后,驱动模块会自动加载,请问linux是怎么探测到传感器连接的呢?
是因为探测IO口的电流或电压变化吗?如果是这样是不是有一个线程一直在查询?还是中断实现的?如果是中断实现的,难道那么多IO引脚都注册了中断吗?
我对系统内核、驱动不是很了解,所以请大神们能不能通俗的给我讲解一下?

阅读 5.3k
2 个回答

我应该可以回答一下这个问题。
1.ds18b20温度传感器是onewire总线的方式连接到树莓派的。
2.是中断的方式实现的。
3.不是每一个IO都注测成onewire总线了,应该是某一个特定的GPIO注册成onewire了。

新手上路,请多包涵

得先问一下,传感器插的端口是GPIO吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题