Hur du gör USB-enhet (PIC18F) (6 / 8 steg)

Steg 6: Förstå källkoden firmware

i i 'PIC18F generiska HID-enhet' zipfilen i denna artikel hittar du en komplett ready-to-go firmware för PIC18F4550.

Helt enkelt packa upp filen i din favorit MPLAB projektkatalog och sedan använda MPLAB för att öppna projektet.

Jag har åtskilda både källfilerna och header-filer i koden bör du titta på och sedan de mer generella delarna av mikrochip stacken (lagrad under "USB stack" underkataloger i projektet navigator).

Filer under "USB stack" kataloger är intressant, men för att komma igång snabbt du ska inte oroa de praktiska detaljer aspekterna av koden tills du är mer förtrogna med de övre nivåerna.

Eftersom VID/PID och resten av informationen som uppräkning är redan förberett bör du börja med att göra en bygga-all i projektet och sedan ladda ner den resulterande firmware till din PIC18F. Naturligtvis behöver du en sane kompileringsmiljö för detta att fungera men det finns gott om resurser via Google om du har problem med din miljö.

Prova några enkla exempel att se till att allt är ok innan omlastning detta projekt och försöker igen.
Den fasta programvaran finns 3 kommandon:

  • 0x80 - växla LED
  • 0x81 - Läs push-switch status
  • 0x82 - Läs lysdioden status

Den kod som utför dessa kommandon ligger i main.c källfilen i funktionen ProcessIO(). Denna funktion är ansvarig för fastställande av kommandot krävs och sedan skicka och ta emot data som lämpliga.

Detta är ganska enkelt eftersom USB-stacken tar hand om alla underliggande komplexitet. ta en snabb titt på källkoden och du kommer att se hur enkelt det egentligen är.

Bara extra kontrollen utförs av funktionen är att se om enheten är i ett konfigurerat tillstånd; Detta innebär att enheten är ansluten till en värd och uppräkning har varit framgångsrik.

Den huvudsakliga funktionen bara kräver USB-stacken för att utföra någon lågnivå Enhetsaktiviteter och sedan funktionen ProcessIO om och om igen. Det är möjligt att göra detta använder avbryter snarare än en loop, men i denna firmware jag har hållit det så enkelt som möjligt.

För att förstå lite ta mer om uppräkning processen en titt på usb_descriptors.c som innehåller de uppgifter som överförs till värden när den ansluts först.

I källan hittar du information om VID och PID för enheten som en serie av konfiguration deskriptorer som förklarar för värden vilken typ av gränssnitt har enheten och funktionerna i gränssnitten. "Ändpunkterna" är anslutningar för "rören" beskrev tidigare.

Det finns också några strängar som beskriver tillverkaren och produkten textmässigt. Dessa strängar används vanligtvis vid namngivning av USB-enheter.

Förstå uppräkning processen och deskriptorn-formaten är ganska komplext och omfattas av de olika USB specifikationerna samt en stor bok av Jan Axelson kallas "USB-komplett - allt du behöver för att utveckla anpassade USB kringutrustning" (ISBN 978-1931448086). Om du njuter av den här artikeln och vill få allvarligare om USB-jag skulle starkt rekommendera att få en kopia av boken, hjälpte det mig verkligen när jag lärde.

Övergripande är firmware ganska enkelt, allt du behöver för att få upp och löpande kommunikation till och från värden ingår. Självklart kan du göra det så komplicerat som du vill, men för tillämpningen av denna artikel (får du igång med USB) finns det massor att experimentera med.

Se Steg
Relaterade Ämnen

Hur du skyddar din USB-enhet

har alla filer de inte vill att andra att se. Kanske är de ekonomiska dokument, skolarbetet eller andra "tvivelaktiga" filer. Vad de är, du ett sätt att säkra dem. Att sätta ett lösenord på din dator kommer att göra dig något bra, och det skulle...

Hur du infogar en USB-enhet

Denna typ av USB-kontakten är en "USB-A". Det finns flera typer av USB-kablar, kommer jag att fokusera på USB-A-kabel.Syftet med detta instructable är hjälp du inte bli så frustrerad när du sätter i dina kablar och enheter. Detta är för de männi...

Göra en Live USB att starta från en USB-enhet

En Live USB-låter dig köra ett operativsystem från en USB-enhet, så du kan prova ett operativsystem utan en partition, eller bära en favorit med dig eller har en nödsituation backup ifall datorn kraschar.I detta Instructable, kommer jag att visa dig...

Hur till skydda din usb med ett lösenord

hur du lösenordsskyddar din hårddisk och USB blixt driva utanprogramvara. Denna video visar dig hur man låser pen-drive utan programvara. Hur man säkert USB-enheter och andra bärbara lagringsenheter. hur du lösenordsskyddar alla dina filer på din Fla...

Hur du skyddar dina filer inuti din USB-enhet?

Hej alla! har du USB-enhet? och det innehåller viktiga filer som du vill skydda? Tja är du på rätt plats att göra detta. Jag kommer att visa dig hur du skyddar dina viktiga filer inuti din USB-enhet! Bara titta på video som jag har förutsatt genom mi...

Hur du lägger till en på/av makt slå till en USB/enhet

detta instructable visar dig hur man gör en strömbrytare för din USB-kabel/s eller USB-drivna enhetenJAG ÄR INTE ANSVARIG FÖR EVENTUELLA SKADOR SOM DU GÖR ATT DIN ENHET, USB-KABLAR ELLER DATOR! FÖLJ DENNA INSTRUCATBLE PÅ EGEN RISK!Steg 1: Saker du be...

Hur du skapar en startbar USB-enhet utan att använda någon programvara

Vi kommer använda kommandotolken för att skapa en bootable USB driva manuellt, som Windows standardprogram. Här är steg för steg att skapa en bootbar USB-enhet som Windows-installationsmediet. För att skapa en bootbar USB-enhet som en Windows-install...

Hur man lägger (nästan) alla Applacation på din USB-enhet

Hej! Detta instructable är om att sätta nästan någon app på din USB-enhet!exempel:Pivot stickfigure animatorGIMPGoogle chromeSuper tuxect.Steg 1: Saker du behöver Här är en lista över saker du behöver:en USB-enhetoch en appSteg 2: Skaffa en bärbar ap...

Lägga till lite smak till din USB-enhet

jag nyligen fick en Sandisk Cruzer Mikro-USB-enhet och var besviken att se att många människor har samma en i skolan.Såvitt jag vet de kommer bara i svart och eftersom så många människor hade samma en som mig ville jag kunna skilja mig från alla andr...

Skapa en bootbar USB-enhet med VistaPE

USB-enheter har blivit en allestädes närvarande handelsvara. Många människor har en och några bär sina USB-enhet på deras nyckelring. Detta ger lätt tillgång till praktiska uppgifter som lösenord, spel, bilder, etc.VistaPE är förinstallera miljön för...

Hur göra en USB till ett armband.

I detta Instructable jag en m ska lära dig alla hur man gör en enkel USB-armband med material du kan hitta i ditt eget hem!Vad du behöver:1 eller 2 USB-enheter (du kan röra upp ett par gånger och stek styrelsen.)1 mini USB-laddareLiten diameter plast...

USB-enhet från en USB-kabel

har jag en liten USB-enhet som jag håller i min plånbok, bara i fall. Det naturligtvis stå inte sig genom tiderna. En lördag moring, letar du efter något nytt att göra, jag har mindes någon få en USB-enhet inuti en trasig USB-kontakten. Här är min an...

Installera RetroPie Rom via en USB-enhet

Med RetroPie, kan du spela dina favoritspel på din Raspberry Pi. Frågan är bara, exakt hur kopierar jag mina skivor från min dator till min Raspberry Pi? Det är inte "en Lägg till Rom och spela"-knappen var som helst. Det finns också inte "...

Automatisk återställning av en USB-enhet.

Inte vi alla hatar behöva lossa sedan åter ansluter en USB-enhet om den har slutat att svara? Min USB UIRT är nyckeln till min hem tillgång och komfort automation. Ibland det låser sig och jag måste antingen åter koppla in den eller starta om datorn....

Hur du gör USB OTG-kabel

Du glömde att sätta en viktig fil på din USB-nyckel eller du vill skriva snabbare på din smart phone? Om din en av dem titta på denna tutorial där jag bygga bra och kompakt USB OTG "On-The-Go" kabeln från en gammal USB-kontakter.Video:Steg 1: Va...

USB-enhet mods

dessa är några av de USB-enheter som jag har ändrat.Kommentera gärna eller begära fler bilder. Inte alla av min USBs mods visas här!Känn dig fri att fråga mig hur man gör någon av dem.EDIT: Jag ser folk gillade fnissa så jag ska berätta hur jag modda...

Telefon stativ från USB-enhet paket

hur man gör användning av USB-enheten inställd skapa en telefon-monter.Jag fick en 4GB USB-enhet i ett hölje som ett guldmynt. förpackning är en klar plast låda med svampig kudde inuti. Det är lätt att skiljas och tänkte jag plötsligt på att göra en...

Hur man bygger en USB-kabel för Universal PCB

The Universal PCB (UPCB för korta) projektet startades för att tillåta en enda spelenhet, särskilt bekämpa pinnar, på så många olika konsoler som möjligt. Information om projektet finns på följande tråd i Shoryuken.com Forum: Shoryuken.comDetta Instr...

Från träd till teknik: ersätter papper användning med USB-enheter

detta instructable syftar till att påvisa de positiva effekterna med hjälp av USB-enheter kommer att ha på miljön, med statistik som rör saker som mängden papper som normalt används per år. Om alla i världen var att använda en blixt driva till hålla...