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


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

Linux linux驱动 raspberry-pi

jjfjj 9 years, 10 months ago

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

pseudo answered 9 years, 10 months ago

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

古日月土也覺 answered 9 years, 10 months ago

Your Answer