Информационный сайт

 

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

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

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

ooso ¦ Ї6 FF ZZ В9 01 07 SA 83 8В 8Z KO FF ZZ В9 OZ 08 жя "Ni. . JbT< , ая "№. .
ЩІЩі 8А 83 SB 8Z 14 93 FF ZD AD A3 21 3Z 43 33 зП ZO &т< ,л"я--з <- гсзіді
0070 і 7S DO 00 IZ 00 78 80 FE 7S A4 10 43 A3 OZ 43 BC UP. . .хЪюин.CJ . Cj
ооао 80 43 BC 10 IZ 04 97 S3 BC EF IZ 04 97 78 16 76 T)Cj . . .-Sjn. .-x.v
0090! SO 7F 00 IZ 04 BA 75 DS 01 7S DS 00 75 14 00 43 tO. . . euX.uX.u. . C
00AO1 CZ 01 DZ 01 20 01 16 KS BD 54 ZO 60 OK 53 BC BF B.T. ..eST -.Sji
ООВО і DZ 01 53 BD FK S3 BD DF S3 BD F7 80 ЗО ES BD 54 I. SS»SSflSS4T)0eST
ООСО:] 01 60 08 CZ 01 S3 BD FS 43 BC 40 К5 BD S4 10 60 .•.B.SS»Cj8eST.•
Рис. 13.11. Удобство и простота — преимущества ER-Tronik
348
Часть IV. Создание USB-устройств
К минусам можно отнести, пожалуй, только отсутствие документации и USB-драйвер, при установке которого выдается сообщение о возможной несовместимости с Windows XP. Впрочем, никаких проблем при работе в Windows XP обнаружено не было (рис. 13.12).
1? Device Manager I
0е fiction View Help '
ш Ш Ш
M vfj IDE AT A/AT API controllers 3
H -<j> Keyboards FFi ' "j Mice and other pointing devices M Modems K § Monitors ffi ф Network adapters 1+. Ports (COM & LPT) H фі Processors
FEl Ф Sound, video and game controllers
M У System devices
FT в& Universal Serial Bus controllers
ATMEL 89CS131 Eootloader
¦ Standard Enhanced PCI to USB Host Controller - USB Root Hub
USB Root Hub
USB Root Hub
USB Root Hub • USB Root Hub
VIA Rev 5 or later USB Universal Host Controller
VIA Rev 5 or later USB Universal Host Controller ' VIA Rev 5 or later USB Universal Host Controller
¦ VIA Rev 5 or later USB Universal Host Controller
Г"
Рис. 13.12. Драйвер USB программатора ER-Tronik
Загрузка программы в процессор
Упрощенно говоря, внутри процессора существует два загрузчика: пользовательский и аппаратный (HBL, Hardware BootLoader). Пользовательский загрузчик позволяет запускать программы, записанные в память процессора, а аппаратный позволяет осуществить запись самой программы.
Очевидная последовательность действий такова: стартовать аппаратный загрузчик, записать программу в микропроцессор, стартовать записанную программу.
Глава 13. НЮ-устройство на основе Atmel АТ89С5131
349
Для старта HBL требуется выполнить такую последовательность действий:
1. Отключить прибор от USB-шины, разомкнув перемычку Р2 (линия VREF).
2. Удерживая кнопки КЗ (линия Reset) и К2 (линия PSEN) подключить прибор к USB-шине, замкнув перемычку Р2.
3. Отпустить кнопку КЗ.
4. Отпустить кнопку К2.
Если HBL успешно стартовал, Windows обнаружит новое устройство со следующими характеристиками:
? Vendor ID = ОЗЕВ;
? Product ID = 2FFD;
? при установке драйверов FLIP новое устройство будет иметь имя "Jungo АТ89С5131" (см. рис. 13.8), а при установке драйверов ER-Tronik — имя "ATMEL 89С5131 Bootloader" (см. рис. 13.12).
13.5. Программа для микропроцессора
Программа, записываемая в микропроцессор, должна выполнять следующие действия:
? инициализировать USB-интерфейс и внутренние переменные;
? производить обмен по USB-шине, включая процедуру нумерации и обработку запросов от системы Plug and Play;
? производить выполнение других операций, необходимых программисту.
Для простоты понимания код нашей программы мы будем реализовывать в несколько этапов. Сначала мы сделаем простую программу, позволяющую работать с нулевой конечной точкой. Затем мы добавим обработку строковых дескрипторов, что позволит Windows более детально "рассказать" о подключенном устройстве. Затем мы добавим еще одну конечную точку для передачи данных и научимся работать с HID-интерфейсом
13.5.1. Первая версия программы для АТ89С5131
В листинге 13.14 приведена функция mam (основная функция программы на языке С), реализующая основной алгоритм программы микропроцессора.
;"Листинг 13.14. Функция main программы для АТ89С5131
?«.."....... , . ...........________.............._ _; „-й J1";, ^ j j.« * і'ігі'і-і 41 *:> ¦»i,ii:ii,i:i,i!i:iV* - SiS=* = = *- .»* = .- «- ^- -.'.......• ••...............................•..........•••.........'
/* описание регистров АТ89С5131 */ !include "INC\i5131.h"
350
Часть IV. Создание USB-устройств
/* описание констант для доступа к регистрам */ ¦include "INC\ext_5131.h" /* описание типов */ !include "types.h"
/* макросы для управления регистрами */
!include "reg_macr.h"
/* описание USB-дескрипторов */
!include "usb_enum.h"
/* заголовки функций */
!include "test.h"
/* функции для работы с USB */
unci ude " usb_f unc. h "
/* „================================ */
/* MAIN - основная функция программы */ /* =================================== ч
void main () {
/* выполнить инициализацию USB */ usb_init();
/* устройство подключено к шине */ usb_connected = TRUE;
/* основной цикл программы */
for (;;)
{
/* если устройство отключено от шины */ if (!usb_connected)
{
/* если получен сигнал побудки */
if (Usb_resume())
{
/* установить флаг активности */ usb_connected = TRUE; /* сброс режима SUSPEND */ Usb_clear_suspend_clock() ; Usb_clear_suspend(); Usb_clear__resume () ; Usb_clear_sof();
Предыдущая << 1 .. 107 108 109 110 111 112 < 113 > 114 115 116 117 118 119 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100