|
Ну, про хороший тон - это можно поспорить. В том смысле, что если Вы, допустим, видеоконтроллеры производите, массовыми тиражами, или звуковые карты, то конечно, надо свои драйверы по до всё писать. При этом понятно, что программистов у Вас навалом и производители микросхем сами спешат Вам всю информацию на тарелочке поднести. А мы-то производим, оборудование даже не для промышленности (и в этом случае стремление писать полностью свои драйверы уже граничело бы с проявлением гордыни), а для (фактически) лабораторно-исследовательских целей. Хочется обходиться готовым. У Philips это готовое, практически отсутствует, что проявляется в том, что управление передачей данных осушествляется с верхнего уровня, т.е. задача заказывает какоето количество данных и пока не получит его, приостанавливается. Конечно, если эта задача в отдельном процессе, то и ничего, при условии что Вы всегда знаете сколько данных хотите получить. Так у нас сейчас всё и работает. Но, для универсальности, при готовяшемся расширении номенклатуры устройств, хочется получать из устройства НЕИЗВЕСТНОЕ количество байтов, в буфер драйвера, получать по непустому буферу event и иметь функцию, которая возвращает количество байтов в буфере. Это, для простоты, я и назвал работой по прерываниям.
E-mail: info@telesys.ru