[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