Jump to content

    

yava-auto

Новичок
  • Content Count

    1
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. Здравствуйте! Делаю пример из 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?