Я пытаюсь отслеживать температуру процессора и вычислять дельта Т в модуле ядра Linux.Я немного знаю о модуле ядра, но я использую do_div () для деления на целое число.Я не понимаю, почему я всегда получаю базу 1. Вот мой код:
deltaT = sfan_temp - sfan_temp_old;
remainder = do_div ( deltaT, sfan_temp );
Мой вывод всегда deltaT = 1 и остаток = x.Мой желаемый результат - deltaT = x и remainder = y.Моя формула для дельта Т:
(sfan_temp-sfan_temp_old)/sfan_temp * 100;
Например, если sfan_temp = 75 ° C и sfan_temp_old = 65 ° C, тогда
(75-65)/75*100 = 13.3333333