Hur du gör USB-enhet (PIC18F) (4 / 8 steg)
Steg 4: Ny
För att göra saker lätt jag har skrivit några enkla firmware för att driva enheten, kan du använda detta att komma igång och också som en grund för att förstå hur firmware fungerar.
När du har fått din första enheten kör hittar du det mycket enklare att förstå hur du kan anpassa det för mer komplexa program.
Först är USB-enhetsuppräkning - denna komplexa klingande bedrift är faktiskt det första meddelandet med USB-värd (datorn) när enheten talar om för värden vad det är och hur den vill kommunicera.
USB-kommunikationen utförs med "slutpunkter" som skickar information till värden eller till enheten. Samt ställa in kommunikationskanalerna som enheten måste också passera dess enhetsnamnet och två andra viktiga värden: VID- och PID.
VID är säljaren ID och identifierar tillverkaren av enheten. För att få din egen VID måste du USB-standardiseringsorgan betala tusen spänn eller så.
I detta exempel använder vi Microchip's VID spara bekostnad. Om du menar allvar med att producera och sälja enheter måste du registrera en egen.
PID-numret är produkt-ID. Tillsammans med VID utgör en unik identifierare för din enhet. När enheten först räknar upp lagrar Windows VID och PID kombinationen för enheten; Detta gäller även om du använder en allmän drivrutin som HID eftersom det skär ner på mängden tid som Windows behöver för att få din enhet redo.
Detta är viktigt eftersom, om du vill ändra enhetens uppräkning information (Lägg till fler slutpunkter, etc.), du kommer också behöva åtminstone ändra PID innan du återansluter annars du kommer att få "Enhet inte startat" fel även om du koden är felfri (från erfarenhet jag har märkt att Linux inte är ganska kinkig och tenderar inte att klaga om du hålla samma kombination av VID/PID).