Цитата(harper @ Jan 9 2009, 17:47)

Xenia, извините, не понял связь.
Я и сама мало что в этом понимаю
Цитата(harper @ Jan 9 2009, 17:47)

И почему VBUS приходится опрашивать по другой причине? Причина та же, что и для VBUSTI - установить, подсоединен device к host или нет. Только по прерыванию было бы удобнее, чем опросом. Что-то не так?
Флаг VBUSTI устанавливается при ИЗМЕНЕНИИ (!) VBUS, поэтому только по его наличию нельзя судить об его уровне. Этот флаг аппаратно устанавливается не только при появлении +5 вольт на VBUS, но и при его исчезновении! Тут надо проверять бит VBUS порта USBSTA. Именно это и делается в процитированном вами участке кода. Прерывание по VBUSTI призвано привлечь внимание, когда VBUS изменилось, чтобы тут же проверить статус, в противном случае вам пришлось бы непрерывно проверять бит статуса .
Цитата(harper @ Jan 9 2009, 17:47)

Вот отрывки кода по Вашей ссылке. Вижу, что ставите VBUSTE, а затем в прерывании определяете подключение устройства.
Да, я разрешаю прерывания по VBUSTE. Если я этого не делаю, то ничего не работает. Поэтому мне кажется, что это прерывание все-таки работает. А то что я процитировала вам еррату, то там не было ни одного моего слова. А, значит, и у вас не должно быть ко мне притензий по этому поводу.
Цитата(harper @ Jan 9 2009, 17:47)

Не успею до чего. Вот воткнул я device в host. Devise по опросу VBUS определил, что он подключен, сконфигурировал и включил USB модуль (время потратилось 100mS из-за PLL), после этого сделал ATTACH. Вот только теперь host увидел, что есть device и начал с ним работать. Вроде никто никуда не опоздал.
Не факт, что не опоздали. 100 миллисекунд вы где ждали? Там где VBUS определяли? А это, между прочим, процедура обработки прерывания - там так долго торчать нельзя, т.к. своим поступком всё это время не давали работать остальным прерываниям. Представим, что у вас были бы включены часы на 1-милисекундном таймере (в обработке прерывания от таймера добавляется единичка в счетчик). Тогда вы своим поступком пропустили 100 штук таких прерываний, за что вам 100 щелбанов в лоб.

Цитата(harper @ Jan 9 2009, 17:47)

Не подумайте, что ковыряю или придираюсь, считаю себя начинающим, и может чего-то не понимаю, а хочется.
Жизнь такова, что все мы начинающие в новом деле. Меня сначала от этого USB просто тошнило

, потом потихоньку стала привыкать. По поводу кода у меня сложилось впечатление, что люди тупо юзают эти тексты, даже не пытаясь вникнуть в их суть. Мол, работает, и хорошо. В книге Агурова почти те же названия функций. Похоже на то, что все это списано с какого одного места, а конкретные процедуры расшифрованы через спецрегистры данного микропроцессора. В этой кодировке вся работа по адаптации кода к конкретному микропроцессору. а специфику, похоже, никто не учитывает, а уж тем более еррату.