Компьютерные книги
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Аппаратное обеспечение -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 107

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — БВХ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interfeysusbpraktikaispolzovaniya2004.djvu
Предыдущая << 1 .. 101 102 103 104 105 106 < 107 > 108 109 110 111 112 113 .. 168 >> Следующая

#defme Usb_configure_address(х) (USBADDR = (0x80 I х))
#defme Usb_address() (USBADDR & 0x7F)
13.2.3. Регистр USBINT
Регистр usbint (байт, адрес OxBD) - регистр флагов основных USB-
прерываний. После сброса регистр принимает значение 00000000b.
Регистр содержит следующие биты:
? [7:6] зарезервированы - всегда считываются как 0. Не пытайтесь
установить эти биты;
? [5] wupcpu - флаг прерывания пробуждения ЦП. Устанавливается аппаратно,
когда находящийся в режиме SUSPEND USB-контроллер перезапускается
сигналом активности USB-шины (но не резюме исходящего потока). Установка
этого бита вызывает USB-прерывание, когда установлен бит ewupcpu в
регистре usbien. Сбрасывается программно после переключения всех USB-
синхроимпульсов;
? [4] eorint - флаг прерывания окончания сброса. Устанавливается
аппаратно при обнаружении USB-контроллером окончания сброса. Установка
этого бита вызывает USB-прерывание, когда установлен бит eeorint в
регистре usbien. Сбрасывается программно;
? [3] sofint - флаг прерывания при обнаружении начала кадра.
Устанавливается аппаратно после приема пакета начала кадра sof. Установка
этого бита вызывает USB-прерывание, когда установлен бит esofint в
регистре usbien. Сбрасывается программно;
? [2:1] зарезервированы. Всегда считываются как 0. Не пытайтесь
установить эти биты;
? [0] spint - флаг прерывания по приостановке. Устанавливается аппаратно
при обнаружении USB-приостановки (шина не занята в течение трех кадровых
периодов, т. е. состояние J в течение 3 мс). Установка этого бита
вызывает USB-прерывание, когда установлен бит espint в регистре usbien.
Сбрасывается программно.
Листинг 13.3 показывает описания и макросы для работы с регистром
USBINT.
II Описание регистра sfr USBINT = OxBD;
328
Часть IV. Создание USB-устройств
// Описание констант для доступа к битам регистра idefine MSK_SPINT 0x01
// Флаг прерывания при приостановке
idefine MSK_SOFINT 0x08 // Флаг прер-я при обнаружении начала
кадра
idefine MSK_EORINT 0x10 // Флаг прерывания окончания сброса
idefine MSK_WUPCPU 0x20 // Флаг прерывания пробуждения ЦП
// Флаг прерывания окончания сброса
idefine CJsb_clear_reset () idefine Usb_reset()
// Флаг прерывания пробуждения ЦП idefine Usb_clear_resume() idefine CJsb
resume!)
(USBINT &= ~MSK_EORINT) (USBINT & MSK_EORINT)
(USBINT &= ~MSK_WUPCPU) (USBINT & MSK_WUPCPU)
// Флаг прерывания при обнаружении начала кадра
idefine Usb_clear_sof() idefine Usb_sof()
// Флаг прерывания при приостановке idefine Usb_clear_suspend() idefine
Usb_suspend()
(USBINT &= ~MSK_SOFINT) (USBINT & MSK_SOFINT)
(USBINT &= ~MSK_SPINT) (USBINT & MSK SPINT)
13.2.4. Регистр USBIEN
Регистр usbien (байт, адрес ОхВЕ) - регистр разрешений основных USB-
прерываний. После сброса регистр принимает значение 00000000b.
Регистр содержит следующие биты:
? [7:6] зарезервированы - всегда считываются как 0. Не пытайтесь
установить эти биты;
? [5] ewupcpu - бит разрешения прерывания при пробуждении ЦП. Установка
этого бита разрешает прерывание при пробуждении ЦП. Сброс бита запрещает
прерывание при пробуждении ЦП;
? [4] eeorint - бит разрешения прерывания по окончании сброса. Установка
этого бита разрешает прерывание по окончании сброса. Сброс этого бита
запрещает прерывание по окончании сброса;
? [3] esofint - бит разрешения прерывания при обнаружении начала кадра.
Установка этого бита разрешает прерывание при обнаружении начала кадра.
Сброс этого бита запрещает прерывание при обнаружении начала кадра;
? [2:1] зарезервированы - всегда считываются как 0. Не пытайтесь
установить эти биты;
Гпава 13. HID-устройство на основе Atmel АТ89С5131
329
? 10] espint - бит разрешения прерывания при обнаружении приостановки.
Установка этого бита разрешает прерывание при обнаружении приостановки.
Сброс этого бита запрещает прерывание при обнаружении приостановки.
Листинг 13.4 показывает описания и макросы для работы с регистром
USBIEN.
// Описание регистра Sfr USBIEN = ОхВЕ;
II Описание констант для доступа к битам регистра
fdefine MSK_ESPINT 0x01
fdefine MSK_ESOFINT 0x08
fdefine MSK_EEORINT 0x10
fdefine MSK_EWUPCPU 0x20
// Макросы для доступа к битам регистра
fdefine Usb_ enable reset_int() (USBIEN 1 = MSK_EEORINT)
fdefine Usb enable resume int() (USBIEN 1 = MSK_EWUPCPU)
fdefine Usb_ enable sof_int() (USBIEN 1 = MSK_ESOFINT)
fdefine Usb_ enable suspend int0 (USBIEN 1 = MSK ESPINT)
fdefine Usb_ disable reset int() (USBIEN &= ~MSK_EEORINT)
fdefine Usb_ disable resume_int() (USBIEN &= ~MSK_EWUPCPU)
fdefine Usb_ disable sof_int() (USBIEN &= ~MSK_ESOFINT)
fdefine Usb_ disable suspend_int() (USBIEN &= ~MSK_ESPINT)
13.2.5. Регистр UEPNUM
Регистр uepnum (байт, адрес 0хС7) - регистр номера USB конечной точки.
После сброса регистр принимает значение 00000000b.
Регистр содержит следующие биты:
? [7:2] зарезервированы - всегда считываются как 0. Не пытайтесь
установить эти биты;
? [1:0] epnumi : epnumo - биты номера конечной точки. Задают номер
Предыдущая << 1 .. 101 102 103 104 105 106 < 107 > 108 109 110 111 112 113 .. 168 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Завалишин Д. "Интернетско-русский разговорник" (Web-программирование)

Заенцев И.В. "Нейронные сети: основные модели" (Web-программирование)

Владимиров А.А. "Wi-фу: «боевые» приемы взлома и защиты беспроводных сетей" (Web-программирование)

Вьейра Р. "SQL Server 2000. Программирование в 2 ч." (Web-программирование)

Веллинг Л.Т. "Разработка web приложений с помощью php и mysql" (Web-программирование)
Авторские права © 2013 ComputersBooks. Все права защищены.

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed