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

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

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

случаях, когда длина последнего пакета данных равна максимальной
(например, для контрольного считывания передачи). Сбрасывается аппаратно
сразу после посылки пакета изохронной конечной точкой или после получения
контрольной, пакетной или прерывающей конечной точкой подтверждения от
ведущего устройства;
? [3] stlcrc - флаг прерывания при приостановке посылки и флаг прерывания
при обнаружении CRC-ошибки:
• для контрольных, пакетных и прерывающих конечных точек он
устанавливается аппаратно после посылки при помощи STALLRQ-запроса
приостановки установления связи (после этого произойдет прерывание
конечной точки, если оно разрешено в регистре uepien) и сбрасывается
аппаратно после приема пакета SETUP;
• для изохронных конечных точек этот бит устанавливается аппаратно при
обнаружении ошибки в принятых данных (CRC-ошибка в принятых данных),
после этого произойдет прерывание конечной точки, если оно разрешено в
регистре uepien, и сбрасывается аппаратно после приема неповрежденных
данных;
? [2] rxsetup - флаг прерывания при получении пакета SETUP.
Устанавливается аппаратно после получений допустимого пакета SETUP от
ведущего устройства. После этого произойдет прерывание, если оно разре-
Глава 13. НЮ-устройство на основе Atmel АТ89С5131
333
шено в регистре uepien. Сбрасывается программно после считывания SETUP-
данных из FIFO-буфера конечной точки;
а [И rxout - флаг прерывания при принятии исходящих данных.
Устанавливается аппаратно после принятия исходящего пакета. После этого
произойдет прерывание, если оно разрешено в регистре uepien и все текущие
исходящие пакеты отклонены до сброса этого бита. Однако в управляющих
конечных точках ранее принятая SETUP-транзакция может переписать
содержимое FIFO-буфера конечной точки, даже если был принят пакет данных
при установленном этом флаге. Сбрасывается программно после считывания
исходящих данных из FIFO-буфера конечной точки;
а [0] тхсмр - флаг прерывания по окончании передачи входящих данных.
Устанавливается аппаратно после передачи входящего пакета изохронной
точкой или после получения подтверждения приема (АСК) от ведущего
устройства контрольной, пакетной или прерывающей конечной точкой. После
этого произойдет прерывание, если оно разрешено в регистре uepien.
Сбрасывается программно перед следующей установкой бита
TXRDY.
Листинг 13.7 показывает описания и макросы для работы с регистром
UEPSTAX.
^Листинг,13.7. регистрuepstax , ,ч
// Описание регистра sfr UEPSTAX = OxCE;
// Описание констант для доступа к битам регистра
// Флаг прерывания по окончании передачи входящих данных tdefine
MSKJTXCMPL 0x01
// Флаг прерывания при принятии исходящих данных idefine MSK_RXOUT 0x02
tdefine MSKJRXOUTBO 0x02
// Флаг прерывания при получении пакета SETUP tdefine MSK_RXSETUP 0x04
// Флаг прерывания при приостановке посылки // Флаг прерывания при
обнаружении CRC ошибки tdefine MSK_STALLED 0x08
// Управляющий бит готовности передачи пакета tdefine MSKJTXRDY 0x10
// Бит запроса остановки установления связи tdefine MSK_STALLRQ 0x20
tdefine MSK_RXOUTBl 0x40
334
Часть IV. Создание USB-устройств
11 Бит управления направлением конечной точки #define MSK DIR 0x80
#define Usb set stall requestf) (UEPSTAX 1 =
#define Usb clear_stall_request() (UEPSTAX &=
#define Usb clear_stalled() (UEPSTAX &=
#define Usb stall_sent() (UEPSTAX & t
#define Usb_ stall requested)) (UEPSTAX & t
#define Usb clear rx setup() (UEPSTAX &=
#define Usb_ setup received() (UEPSTAX & i
#define Usb_ clear DIR() (UEPSTAX &=
#define Usb _set_DIR () (UEPSTAX 1 =
#define Usb set_tx ready() (UEPSTAX 1 =
#define Usb clear tx ready() (UEPSTAX &=
#define Usb clear_tx_complete() (UEPSTAX &=
#define Usb_ tx complete() (UEPSTAX & t
#define Usb_ tx ready() (UEPSTAX & I
#define Usb clear rx() (UEPSTAX &=
#define Usb_ clear rx bankOO (UEPSTAX &=
#define Usb_ clear rx bankl() (UEPSTAX &=
#define Usb_ rx complete() (UEPSTAX & i
MSK_STALLRQ) ~MSK_STALLRQ) ~MSK_STALLED) MSK_STALLED) MSK_STALLRQ)
MSK_RXSETUP) MSK_RXSETUP> ~MSK_DIR) MSK_DIR) MSK_TXRDY) ~MSK_TXRDY)
~MSK_TXCMPL) MSK_TXCMPL) MSK_TXRDY) MSK_RXOUT) ¦MSK_RXOUTB0) MSK_RX0UTB1)
MSK RXOUTBOBl)
13.2.8. Регистр UEPRST
Регистр ueprst (байт, адрес 0xD5) - регистр сброса конечной точки. После
сброса регистр принимает значение 00000000b. Для сброса FIFO-буфера
конечной точки установите и сбросьте соответствующий бит перед началом
любой операции до аппаратного сброса или при получении сброса USB-шины.
Регистр содержит следующие биты:
? [7] зарезервирован - всегда считываются как 0. Не пытайтесь установить
этот бит;
? [6] EP6RST - сброс FIFO-буфера шестой конечной точки;
? [5] EP5RST - сброс FIFO-буфера пятой конечной точки;
? [4] EP4RST - сброс FIFO-буфера четвертой конечной точки;
? [3] EP3RST - сброс FIFO-буфера третьей конечной точки;
? [2] EP2RST - сброс FIFO-буфера второй конечной точки;
? [1] epirst - сброс FIFO-буфера первой конечной точки;
? [0] eporst - сброс FIFO-буфера нулевой конечной точки.
Предыдущая << 1 .. 103 104 105 106 107 108 < 109 > 110 111 112 113 114 115 .. 168 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.