[sisyphus] USB on 2.4.x
Epiphanov Sergei
=?iso-8859-1?q?serpiph_=CE=C1_nikiet=2Eru?=
Чт Фев 3 11:21:52 MSK 2005
В сообщении от 2 Февраль 2005 19:10 Anton Farygin написал:
> Кстати, google на эту тему нашел вот что:
> http://www.ussg.iu.edu/hypermail/linux/kernel/0408.3/0119.html
>
> Посмотрите, может быть у вас в коде подобная ошибка ?
Нет, этой ошибки у меня нет (сами вычтите из первого числа второе и
умножьте на 1000), так как я вывожу миллисекунды (а не микросекунды) в
виде float, а в предложенном варианте:
printf("Previous value of %d timer is %ld.%ld\n", arg, o.it_value.tv_sec,
o.it_value.tv_usec);
в виде двух длинных целых. Правильная строка:
printf("Previous value of %d timer is %08ld.%08ld\n", arg,
o.it_value.tv_sec, o.it_value.tv_usec);
Другой вариант проверки: По таймеру выдаю 1 байт в COM-порт. Другой комп
под DOS по кабелю принимает этот байт и сообщает, сколько времени прошло
между двумя байтами. Под 2.4 это (29,98 - 30,02) мс., под (2.6 - 31-32) мс
(в среднем 31,5 мс). Правда, программа довольно специфичная, поэтому
прислать не могу. В принципе, меняются только строки обработчика SIGALRM.
--
С уважением, Епифанов Сергей
Подробная информация о списке рассылки Sisyphus