Alechek, не думаю, что АЦП в этом случае правильно будет работать. Он или остановит весь проц, выдав 1023 или 0. Или, производя преобразования по мере включения/выключения ножки, выдаст полную лажу. Просто светодиод (т.е. глаз человека) и вольтметр - инертные приборы.
У меня есть такой вариант: отключить все прерывания, а в while(1) сделать счётчик, скажем, до 1 000 000. Посмотреть сколько времени (в тиках процессора например) выполняется миллион пустых итерация while(1) (ну и счётчика внутри).
При 100%-й загруженности проца другими функциями, функция main должна как бы "зависнуть", т.е. время выполнения = бесконечности. Т.е. время выполнения 1000000 тиков обратно пропорционально загруженности проца, но при 0-й загруженности уходит не в бесконечность, а в некоторую константу. Т.е. формула типа: t = A / (100 - cpu_usage) где (A / 100) - время выполнения 1000000 итераций незагруженного проца.
Как вам такой вариант? Мои рассуждения вообще логичны или нет? Или такой алгоритм не будет правильно работать?
Сообщение отредактировал Pasha 111 - Jul 21 2006, 08:47
|