Спасибо, значит я не совсем правильно понял этот момент работы шины. Считал, что при перемене местами эндпойнтов, хост автоматом перейдёт на приём данных с того эндпойнта, который передаст фирмвара при инициализации. Вообще, я неграмотно сформулировал начальный вопрос. Меня интересует работа на самом низком уровне - порядок выставления флагов, прерываний и подобное. Например, после записи в фифо надо программно установить бит INPRDY. После передачи пакета байтов бит сбрасывается аппаратно, вырабатывается прерывание и можно записывать новый пакет. А вот можно ли организовать передачу вообще без использования прерывания? Если, например, у меня достаточно медленный процесс, так что данные я могу "вталкивать" в фифо в основном теле программы. Тогда я могу избавиться от большого модуля, описывающего обработку прерываний. И программа меньше, и головной боли тоже.
|