ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
21 июля
35138 Топик полностью
-=Max_Fly=- (09.07.2005 19:00, просмотров: 1) ответил -=Max_Fly=- на э... поясните плз..
вдогонку http://www.opengroup.org/onlinepubs/009695399/functions/tcdrain.html
то что я рекомендовал вам раньше #include int tcdrain( int fildes ); Library: libc Description: The tcdrain() function waits until all output has been physically transmitted to the device associated with fildes, or until a signal is received. заметьте - "been physically transmitted to the device". девайс может иметь своё FIFO и сдвиговый регистр выхода. система и generic драйвер НЕ ОБЯЗАНЫ следить за тем сколько FIFO имеет данный конкретный чипсет, но в стандарте (см ссылку) написано не БУФЕР а объект! "The tcdrain() function shall block until all output written to the object referred to by fildes is transmitted. The fildes argument is an open file descriptor associated with a terminal." итого - драйвер может следить за буфером внутри чипа и вернуть управление КАК ТОЛЬКО буфер пуст, либо сделать задержку чтобы гарантировать опустошение FIFO (чтобы иметь возможность сказать - мы совместимы со стандартом). последним чаще всего пользуются. (и поскольку ориентируются на наибольшие величины - естественно промахиваются в большую сторону). Вот об этом и шла речь прошлый раз. Удачи!