多个有问题。比如,设定寄存器1低于35度,寄存器5超过41度,寄存器6超过43度。
那么现在温度42度,寄存器5的阈值导致中断发生。后来温度44度了,那么寄存器6导致中断发生。这个时候注意,寄存器5干啥呢?需要把它的中断发生屏蔽掉,因为温度超过41度了,如果不屏蔽掉它就一直产生中断。既然要屏蔽掉,那要那么多寄存器干啥?
另一个问题,以安卓为例,系统要根据温度决定7个不同的级别,然后可以影响运行状态,比如关掉一些程序,降低频率等。
这些温度的范围都是一个上限加一个下限,又可以理解为磁滞现象,就是说当温度超过40度,设为第一档,但是温度降低低于40度不能马上降为第0档,而是要温度降到39.5。这样的话,一开始温度在39度,设上限40, 当温度超过40度之后,设[39.5,41],当温度超过41度,设为[40.1, 42]。
这样的话,同时开启多个寄存器是会影响判断的,因为当温度超过40度之后,假设到了40.2,到达第一档,然后如果降低到40,那么是会引起中断的。但是这个时候我们并不希望这个多余的中断通知,因为离开第一档需要低于39.5度。所以,驱动程序是要关掉多余的寄存器。所以我们就不理解为什么这个芯片要这么多阈值寄存器。
【 在 PrimeTime 的大作中提到: 】
: 同时多个中断源不挺好的么
: 比如你软件需要>85度的时候触发中断1做些事情,>105度的时候触发中断2做另一些事情
: 这不就需要多对阈值了么,相当于帮你做了多个monitor
--
修改:bihai FROM 72.197.247.*
FROM 72.197.247.*