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

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

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

Глава 13. HID-устройство на основе AtmelАТ89С5131
335
Листинг 13.8 показывает описания и макросы для работы с регистром
UEPRST.
л* W.'1?' J * s '-.v; *
// Описание регистра sfr UEPRST = 0xD5;
// Описание констант для доступа к битам регистра
#define MSK_EP6RST fdefine MSK_EP5RST fdefine MSK_EP4RST fdefine
MSK_EP3RST fdefine MSK_EP2RST fdefine MSK_EP1RST fdefine MSK EPORST
0x40 0x20 0x10 0x08 0x04 0x02 0x01
// Макрос для сброса конечной точки
fdefine Usb_reset_endpoint(ep_num) UEPRST=0x01"ep_num;UEPRST=0x00
13.2.9. Регистр UEPINT
Регистр uepint (байт, адрес 0xF8) - регистр прерываний конечных USB-точек
(только чтение). После сброса регистр принимает значение 00000000b.
Флаг прерывания от конечной точки устанавливается аппаратно после
установки прерывания в регистре uepstax и если прерывание от этой
конечной точки разрешено в регистре uepien. Флаг должен быть сброшен
программно.
Регистр содержит следующие биты:
? [7] зарезервирован - всегда считываются как 0. Не пытайтесь установить
этот бит;
? [6] EP6INT - флаг прерывания от шестой конечной точки;
? [5] ep5int - флаг прерывания от пятой конечной точки;
? [4] EP4INT - флаг прерывания от четвертой конечной точки;
? [3] EP3INT - флаг прерывания от третьей конечной точки;
? [2] ep2int - флаг прерывания от второй конечной точки;
? [1] epiint - флаг прерывания от первой конечной точки;
? [0] epoint - флаг прерывания от нулевой конечной точки.
336
Часть IV, Создание USB-устройств
Листинг 13.9 показывает описания и макросы для работы с регистром
UEPRST.
// Описание регистра sfr UEPINT = 0xF8;
// Проверка наличия прерывания от конечных точек #define
Usb_endpoint_interrupt() (UEPINT '= 0)
13.2.10. Регистр UEPIEN
Регистр uepien (байт, адрес 0хС2) - регистр разрешений прерываний
конечных USB-точек. После сброса регистр принимает значение 00000000b.
Для разрешения прерывания от конечной точки необходимо установить
соответствующий бит, а для запрещения - сбросить.
Регистр содержит следующие биты:
? [7] зарезервирован - всегда считывается как 0. Не пытайтесь установить
этот бит;
? [6] ep6inte - бит разрешения прерывания шестой конечной точки;
? [5] EP5INTE - бит разрешения прерывания пятой конечной точки;
? [4] ep4inte - бит разрешения прерывания четвертой конечной
точки;
? [3] ep3inte - бит разрешения прерывания третьей конечной точки;
? [2] ep2inte - бит разрешения прерывания второй конечной точки;
? [1] epiinte - бит разрешения прерывания первой конечной точки;
? [0] epointe - бит разрешения прерывания нулевой конечной точки.
Листинг 13.10 показывает описания и макросы для работы с регистром
UEPIEN.
// Описание регистра sfr UEPINT = 0хС2;
// Описание констант для доступа к битам регистра #define MSK_EP6INTE
0x40
#define MSK_EP5INTE 0x20
#define MSK EP4INTE 0x10
Глава 13. НЮ-устройство на основе Atmel АТ89С5131
337
#define MSKJEP3INTE 0x08
#define MSK_EP2INTE 0x04
#define MSK_EP1INTE 0x02
#define MSK_EP0INTE 0x01
// Разрешение/запрещение прерываний от конечных точек #define
Usb_enable_ep_int(е) (UEPIEN |= (0x01 " е))
#define Usb_disable_ep_int(е) (UEPIEN &= ~(0х01 " е))
13.2.11. Регистр UEPDATX
Регистр uepdatx (байт, адрес OxCF) - регистр данных FIFO-буфера конечной
USB-точки, номер которой задан в регистре uepnum. После сброса состояние
регистра не регламентировано.
Листинг 13.11 показывает описания и макросы для работы с регистром
UEPDATX.
^нМЗ^.Регистр UEPDATX |
// Описание регистра sfr UEPDATX = OxCF;
// Чтение данных с конечной точки #define Usb_read_byte()
// Передача данных в конечную точку #define Usb_write_byte(х)
13.2.12. Регистр UBYCTLX
Регистр ubyctlx (байт, адрес 0хЕ2) - регистр счетчика байтов конечной
USB-точки, номер которой задан в регистре uepnum. После сброса регистр
принимает значение 00000000b.
"Регистр содержит следующие биты:
? [7] зарезервирован - всегда считывается как 0. Не пытайтесь установить
этот бит;
? [6:0] BYCT6: bycto - счетчик байтов принятых пакетов данных. Значение
этого счетчика равно количеству байтов данных, принятых после получения
идентификатора (PID) данных.
Листинг 13.12 показывает описания и макросы для работы с регистром
UBYCTLX.
(UEPDATX) (UEPDATX = х)
338
Часть IV. Создание USB-устройств
II Описание регистра sfr UBYCTLX = 0хЕ2;
// Получение счетчика
#define Usb_get_nb_byte () (UBYCTLX)
13.2.13. Регистр UFNUML
Регистр ufnuml (байт, адрес ОхВА) - регистр младших битов номера USB-
кадра (только чтение). После сброса регистр принимает значение 0x00.
Регистр содержит младшие 8 бит 11-битного номера кадра.
13.2.14. Регистр UFNUMH
Регистр ufnumh (байт, адрес ОхВВ) - регистр старших битов номера USB-
кадра (только чтение). После сброса регистр принимает значение 0x00.
Регистр содержит следующие биты:
? [7:6] зарезервированы - всегда считываются как 0. Не пытайтесь
установить эти биты;
? [5] crcok - бит отсутствия CRC-ошибки принятого номера кадра.
Устанавливается аппаратно после принятия неповрежденного номера кадра в
Предыдущая << 1 .. 104 105 106 107 108 109 < 110 > 111 112 113 114 115 116 .. 168 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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