Hoe maak je USB-apparaat (PIC18F) (6 / 8 stap)

Stap 6: Inzicht in de broncode van de firmware

In het zip-bestand van 'PIC18F generieke verborg Device', opgenomen in dit artikel vindt u een volledige kant-en-klare-firmware voor de PIC18F4550.

Simpelweg unzip het bestand in uw favoriete MPLAB project directory en vervolgens gebruiken van MPLAB om het project te openen.

Ik heb zowel de bronbestanden als de headerbestanden onderverdeeld in code die je moet kijken en dan de meer algemene delen van de stack van de Microchip (opgeslagen onder 'USB stack' sub-mappen in de project-navigator).

De bestanden in de mappen 'USB stack' zijn interessant, maar om te snel te gaan je moet niet zorgen te maken over de aspecten van de bijzonderheid van de code totdat u meer vertrouwd met de hogere niveaus bent.

Aangezien de VID/PID en de rest van de informatie van de opsomming is al voorbereid moet u starten door het uitvoeren van een build-alles over het project en vervolgens de resulterende firmware te downloaden naar uw PIC18F. Natuurlijk, je moet een sane build-omgeving voor dit te laten werken, maar er zijn tal van middelen via Google als u problemen met uw omgeving ondervindt.

Probeer enkele eenvoudige voorbeelden om ervoor te zorgen dat alles ok is voor dit project herladen en opnieuw proberen.
De firmware biedt 3 commando's:

  • 0x80 - / uitschakelen van de LED
  • 0x81 - Lees de status van de push-schakelaar
  • 0x82 - Lees de status LED

De code die deze opdrachten vervult is gelegen in het bronbestand main.c in de ProcessIO() functie. Deze functie is verantwoordelijk voor het bepalen van de gewenste opdracht en vervolgens verzenden en ontvangen van gegevens zo nodig.

Dit is vrij eenvoudig aangezien de USB stack zorgt ervoor dat alle de onderliggende complexiteit; Neem een snelle blik op de broncode en u zult zien hoe eenvoudig dit echt.

De enige extra controle uitgevoerd door de functie is om te zien of het apparaat in een 'geconfigureerde staat'; Dit betekent dat het apparaat is aangesloten op een host, en opsomming succesvol is geweest.

De belangrijkste functie roept gewoon de USB-stack voor het uitvoeren van alle low-level Apparaattaken, waarna de ProcessIO functie over en weer. Het is mogelijk om dit te doen met behulp van interrupts in plaats van een lus, maar bij deze firmware heb hield ik het zo eenvoudig mogelijk.

Om te begrijpen een beetje Neem meer over het inventariseren een kijkje op usb_descriptors.c waarin de informatie die wordt doorgegeven aan de host wanneer het apparaat voor het eerst is aangesloten.

In de bron vindt u de VID en PID-informatie voor het apparaat, alsmede een aantal configuratie-descriptoren die naar de host, verklaren wat voor soort interfaces is met dit apparaat en de mogelijkheden van de interfaces. De 'endpoints' zijn de connectors voor de 'buizen' eerder beschreven.

Er zijn ook sommige snaren die de fabrikant en het product tekstueel beschrijven. Windows maakt meestal gebruik van deze tekenreeksen bij het benoemen van USB-apparaten.

Inzicht in het inventariseren en de descriptor-formaten is vrij complex en wordt gedekt door de verschillende USB-specificaties, alsmede een groot boek door Jan Axelson genaamd 'USB-Complete - Everything you need to ontwikkelen aangepaste USB-randapparaten' (ISBN 978-1931448086). Als u genieten van dit artikel en wil graag meer ernstige over USB ik zou sterk aanraden om een exemplaar van het boek, hielp het zeker me wanneer ik aan het leren was.

De firmware is over het algemeen vrij simpel, alles wat je moet opstaan en uitvoeren van de communicatie van en naar de host is opgenomen. Uiteraard kun je dit zo complex als je wilt, maar voor de toepassing van dit artikel (krijgt u gaan met USB) er is genoeg om te experimenteren met.

Gerelateerde Artikelen

Hoe maak je een apparaat dat mensen schokken

Hoe maak je een apparaat dat mensen schokken

dit Instructable zal u tonen hoe een apparaat om de schok van je vrienden maken!DIT IS GEEN DODELIJKE!!!HET ZAL NIET ZELFS DICHT BIJ HET DODEN VAN JE KOMEN!!!De schok van dit apparaat is genoeg om het veroorzaken van kleine spierspasmen en kan heel p
Hoe maak je USB verlengkabel voor 0$

Hoe maak je USB verlengkabel voor 0$

Moe van de korte iPhone kabelElke keer als ik mijn iPhone in rekening gebracht had mij zulks werkstukDe kabel is te kortDus nu kunt u uw eigen USB-verlengkabel voor 0$Het project dat kan worden gedaan onder de 10 minutenStap 1: Wat je nodig hebt?Dus
Hoe maak je Lipo batterij USB lader/Adapter voor telefoon, iPod, MP3, etc.

Hoe maak je Lipo batterij USB lader/Adapter voor telefoon, iPod, MP3, etc.

In dit instructable video, ik Toon u hoe maak je een apparaat dat gebruikmaakt van een LiPo (Lithium Polymer) batterij USB uitgangsvermogen.  U kunt dit apparaat gebruiken voor opladen/lopen alle USB-apparaten, zoals mobiele telefoons, MP3 spelers, i
Hoe maak je een statische elektriciteit Generator - schok iets & Fry elektronica met een tintje!

Hoe maak je een statische elektriciteit Generator - schok iets & Fry elektronica met een tintje!

Ik heb een nieuwe versie van dit project, dat een DC ion generator gebruikt, kunt u hetIn deze video laat ik hoe maak je een apparaat waarmee de gebruiker toegang krijgt tot de kracht van elektriciteit. Deze generator hoogspanning kan elektrificeren
Hoe maak je een goedkope USB Powered Fan

Hoe maak je een goedkope USB Powered Fan

hoe maak je een goedkope fan uit delen gekocht bij de dollaropslag. Deze ventilator kan worden gemaakt voor ongeveer $2 (plus BTW), tenzij u een dubbele eindigde USB draad kopen kunt, dan kunt u 2 USB-fans voor $3 (plus BTW). Dat klopt zeker de $15 o
Hoe maak je een goedkope solar usb charger

Hoe maak je een goedkope solar usb charger

In dit instructable ga ik u tonen hoe maak je een solar usb charger uit oude tuin verlichtingMet deze lader kunt u elk apparaat dat gebruikmaakt van de USB-poort op te laden zoals kosten: (mp3 speler, iphone, psp enz.)(In mijn zonne-lader die ik somm
Hoe maak je een USB-laadkabel van neen-data

Hoe maak je een USB-laadkabel van neen-data

Uw USB betalen apparaten via de USB-poort kunnen worden aangevallen tijdens het opladen. Dit is aangetoond bij Blackhat 2013 (https://www.blackhat.com/us-13/briefings.html#Lau, http://www.extremetech.com/extreme/157207-black-hat-hackers-break-into-an
Hoe maak je een mini USB-stofzuiger

Hoe maak je een mini USB-stofzuiger

Hoe maak je een mini USB-stofzuiger-deel 1Hoe maak je een mini USB-stofzuiger deel 2Stap 1: Een mini USB-stofzuiger moet u!!! In de video's vandaag ga ik om u te tonen het volgende idee van ambachten en zelfgemaakte dingen, eigenlijk hoe maak je een
Hoe maak je een draagbare USB-GSM-lader

Hoe maak je een draagbare USB-GSM-lader

https://www.YouTube.com/watch?v=TExXyea5Jpc&feature=Youtu.beStap 1: om te doen een draagbare USB-GSM-lader hebt! Hoe maak je een draagbare USB-GSM-lader voor iPhone, iPod, MP3, MP4 met uw eigen handen.Stap 2: Uw telefoon dood is en er zijn geen stopc
Hoe maak je een USB-ventilator van Plastic fles

Hoe maak je een USB-ventilator van Plastic fles

Hallo jongens! Vandaag ga ik om u te begeleiden hoe maak je een USB-ventilator (fan die energie bron van usb aansluiten op computer gebruiken) kunt u gemakkelijk met laptop en smartphone. Het ziet er echt cool!Nu laten we beginnen.Stap 1: U moet een
Hoe maak je een Auto-Hacking USB Drive

Hoe maak je een Auto-Hacking USB Drive

ik zal je leren hoe maak je een eenvoudige Auto-Hacking USB-Drive. Er zijn waarschijnlijk vele verschillende variationsof dit. Ik zal je laten zien de meest elementaire.U hebt twee dingen nodig:1) een USB Drive gewijd aan dit2) de programma's en best
Hoe maak je een Solar USB charger! (eenvoudig!)

Hoe maak je een Solar USB charger! (eenvoudig!)

Bedankt voor al de weergaven jongens! Als u wilt lezen mijn nieuwsbrief Klik hierWelkom! Ik zal u tonen hoe maak je een solar usb charger dat uit zet over 6v en is perfect voor het opladen van anthing die gebruikmaakt van USB. Dit is perfect voor iem
Hoe gratis om het even welk USB-apparaat door Riding Your Bike

Hoe gratis om het even welk USB-apparaat door Riding Your Bike

om te beginnen, dit project is gestart, wanneer we een subsidie van de Muses-MIT programma ontvangen. (Josh, als u dit leest, wij houden u.)Een team van 6 studenten en een leraar dit project samen te stellen, en hebben we besloten om het op Instructa
Hoe maak je een Bootable USB schicht toer

Hoe maak je een Bootable USB schicht toer

Hoe maak je Windows 7 bootable install USB-stickLet op: tijdens deze procedure verliest u alle gegevens op uw USB flash drive.Wees extra voorzichtig zijn tijdens het formatteren, het kiezen van de verkeerde schijf volledig wordt gewist.Deze handleidi