Styra en Arduino med ett armbandsur (TI eZ430 Chronos) (2 / 4 steg)
Steg 2: Arduino skiss
Installera detta bibliotek till din Arduino system:
https://github.com/Felis/USB_Host_Shield_2.0
- Viktigt: Använd denna 2.0 version av biblioteket
- På Linux måste biblioteksfiler finnas i
/ usr/share/arduino/bibliotek/USB_Host_Shield_2_0 /
Anpassa USB host biblioteket för din styrelse
- Redigera biblioteket filen avrpins.h
(på Linux: /usr/share/arduino/libraries/USB_Host_Shield_2_0/avrpins.h)
Detta är ganska irriterande, speciellt om du har några av varje styrelser, eftersom du måste komma ihåg att kontrollera/tweak biblioteket efter byte av styrelsen och innan sammanställa... Jag önskar #define kunde finns i skiss-filen.
Skapa den Arduino skissen
Skapa en Arduino skiss från filen eZ430_basic.zip fäst i detta steg. Kompilera, ladda upp och köra.
Hur det fungerar
Initieringen sker genom instansieras dessa objekt:
USB Usb; / / initiera USB
ACMAsyncOper AsyncOper; Skapa CDC
ACM Acm (& Usb, & AsyncOper); Skapa ACM och binda CDC till USB
Sedan, i loop(), skall man kalla detta för att låta USB-stacken körs:
Usb.Task();
Att utbyta data med USB-enheten:
Acm.SndData (frame_len, frame_to_send);
Acm.RcvData (& len, receive_buffer); init len med buffertstorleken, kommer att uppdateras med len fick
Vi måste skicka två olika ramar, en vända med dongle RF på, och en begäran data från klockan. Sedan kommer vi att ta emot och avkoda en ram, som innehåller klocka svar (eller avsaknad av dessa).