реклама на сайте
подробности

 
 
> USB HID PIC18F4550, все работает, что я делаю не так.http://electronix.ru/forum/style_images/1/folder_editor_images/rte-emoticon.gif
endeavor
сообщение Nov 23 2011, 08:49
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 16-10-11
Пользователь №: 67 764



Здравствуйте!
Делаю пример из Microchip App Library, Device - HID - Custom Demos
Как я правильно понял, создается на стороне РС и устройства некий pipe, через который происходит обмен по 64 байта в одном пакете.
Разбор пакетов происходит по первому байту.

Код
        switch (ReceivedDataBuffer[0])                //Look at the data the host sent, to see what kind of application specific command it sent.
        {case 0x80:  //Toggle LEDs command
           mLED_5_Toggle();
break;
            case 0x81:  //Get push button state
                  ToSendDataBuffer[0] = 0x81;                //Echo back to the host PC the command we are fulfilling in the first byte.  In this case, the Get Pushbutton State command.
                  if(sw3 == 1)            //pushbutton not pressed, pull up resistor on circuit board is pulling the PORT pin high
                  {ToSendDataBuffer[1] = 0x01;}
                  else{ToSendDataBuffer[1] = 0x00;}
                  if(!HIDTxHandleBusy(USBInHandle)){
                      USBInHandle = HIDTxPacket(HID_EP,(BYTE*)&ToSendDataBuffer[0],64); }
            break;

            case 0x37: {
                WORD_VAL w;
                if(!HIDTxHandleBusy(USBInHandle)) {
                  ToSendDataBuffer[0] = 0x37;
                  ToSendDataBuffer[1] = 55;      
                  ToSendDataBuffer[2] = 12;      
                  USBInHandle = HIDTxPacket(HID_EP,(BYTE*)&ToSendDataBuffer[0],64);
                } //if
            }
            break;
          
            default:
            break;

        }// switch(ReceivedDataBuffer[0])


Мне собственно это и нужно. Устройство должно читать кнопки, моргать светодиодами, читать АЦП и тд.

Вопрос, нужно ли для каждой функции создавать endpoint, или определить для себя 255 (или более) типов пакетов и обмениваться данными через готовый endpoint?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 22:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01356 секунд с 7
ELECTRONIX ©2004-2016