ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΥΛΟΠΟΙΗΣΗ ΔΙΑΣΥΝΔΕΣΗΣ USB

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη Μικρής Αυτόνομης Ρομποτικής Πλατφόρμας Οδηγούμενης μέσω Ασύρματης Σειριακής Διασύνδεσης Σπουδαστής: Απόστολος Μπόλλας Επιβλέπων.
Advertisements

Επικοινωνιες-δικτυα-διαδικτυο-ιστοσελιδεσ
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
ΨΗΦΙΑΚΗ ΜΝΗΜΗ (RAM – ROM).
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
Εισαγωγικές έννοιες πληροφορικής
*ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ* «Ανάπτυξη Αυτόνομου Συστήματος Διαχείρισης Διατάξεων Ανίχνευσης Αερίων Μιγμάτων-Οσμών» Ανδρέας Καββαδίας – Αλεξάνδρα Τσακίρη.
Δομή Μαθήματος Υπεύθυνος: Δρ Ν. Πετρέλλης, ΠΔ407
Αρχιτεκτονική Προσωπικού Υπολογιστή
Το υλικο του Υπολογιστη
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (1).
ΚΕΦΑΛΑΙΟ 3 Το υλικό των υπολογιστών.
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
MC68HF11F1 SOFTWARE HARDWARE →→→→ Σκοπός αυτής της πτυχιακής εργασίας είναι να αναπτυχθεί ένα σύστημα ελέγχου συναγερμού μουσείου βασισμένο στον μικροελεγκτή.
Message Passing Interface (MPI)
ΕΝΟΤΗΤΑ 14η Συστήματα Μετρήσεων και Μικροελεγκτές
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ Ανάπτυξη λογισμικού σε assembly για την απεικόνιση.
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
22/11/2004Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές.
Κεφάλαιο 11.2 Sockets.
Επιβλέπων: Ιωάννης Καλόμοιρος, Επίκουρος καθηγητής
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ & ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΩΝ
ΕΝΟΤΗΤΑ 9η Βασικές τεχνικές εισόδου/εξόδου δεδομένων
Μνημη τυχαιας προσπελασης (Random Access Memory - RAM)
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
ΕΝΟΤΗΤΑ 8η Μετατροπείς Αναλογικού Σήματος σε Ψηφιακό (ADC)
ΣΥΣΤΗΜΑΤΑ ΣΥΛΛΟΓΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΚΑΙ ΜΕΤΡΗΣΕΩΝ
ΑΤΕΙ ΣΕΡΡΩΝ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ “ΣΥΓΧΡΟΝΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΡΗΣΕΩΝ :
Message Passing Interface (MPI) Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων Αθήνα, Δεκέμβριος 2002.
Κερεστετζή Δημητρίου (1295)
Πληροφορική, Β Γυμνασίου
Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems – hardware) Εργαστήριο Αυτομάτου Ελέγχου μΥ και Ψηφιακός Έλεγχος.
ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΣΥΣΤΗΜΑΤΟΣ ΔΕΙΓΜΑΤΟΛΗΨΙΑΣ ΚΑΙ ΠΑΡΑΓΩΓΗΣ ΣΗΜΑΤΩΝ
Α ΡΧΙΤΕΚΤΟΝΙΚΗ Μ ΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Υποκεφάλαιο 1.2 (Η κεντρική μονάδα επεξεργασίας CPU08)
Κεφ. 1 (Θ) & Κεφ. 9 (Ε): Μοντέλο επικοινωνίας δεδομένων
ΕΝΟΤΗΤΑ 13η Λογισμικό Μετρήσεων
Φοιτήτρια: Χατζοπούλου Ειρήνη (A.E.M. 1962) Επιβλέπουσα Καθηγήτρια:
Ψηφιακά συστήματα Μετρήσεων Αισθητήρες Μετρήσεων Υλικό μετρήσεων
Εισαγωγή στις Νέες Τεχνολογίες και Εργαστηριακές Εφαρμογές, Το εσωτερικό ενός υ π ολογιστή Κεφάλαιο 3.
ΕΝΟΤΗΤΑ 10 η Τεχνικές Ι/Ο: Η θύρα USB  Χαρακτηριστικά της θύρας USB  Τοπολογία διαύλου USB  Κλάσεις συσκευών USB, Endpoints, pipes  Tύποι μετάδοσης.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: To λογισμικό του υπολογιστή
Δομικά στοιχεία πολυμέσων
T I B T I B T I B
ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΗΣ.
Κεφάλαιο 3: Το υλικό των Υπολογιστών
Τσιρογιάννης Νίκος-Μαργαρίτης Βασίλης
ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ
T I B T I B T I B
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Επιλογη υλικου Η/Υ Cpu /επεξεργαστης RAM/μνημη GPU/καρτα γραφικων Οθονη HDD/Σκληρος δισκος.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
ΤΕΧΝΟΛΟΓΙΑ ΑΙΣΘΗΤΗΡΩΝ & ΜΗΧΑΤΡΟΝΙΚΗ ΔΡ. Θ. ΓΚΑΝΕΤΣΟΣ ΚΑΘΗΓΗΤΗΣ ΔΡ. ΜΙΧΑΛΗΣ ΠΑΠΟΥΤΣΙΔΑΚΗΣ  ΨΗΦΙΑΚΆ ΣΥΣΤΉΜΑΤΑ ΜΕΤΡΉΣΕΩΝ  ΑΙΣΘΗΤΉΡΕΣ ΜΕΤΡΉΣΕΩΝ  ΥΛΙΚΌ ΜΕΤΡΉΣΕΩΝ.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αρχιτεκτονική Η/Υ ΙΙ Ενότητα #1: Δομή Η/Υ – Μνήμη – Βασικά περιφερειακά κυκλώματα Νικόλαος Χ. Πετρέλλης Σχολή.
Παρουσίαση Πτυχιακής Εργασίας Τεχνολογία powerline homeplug για τη δημιουργία του «έξυπνου» σπιτιού και εφαρμογή της στην κατασκευή αλληλεπιδραστικής διεπαφής.
ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Τίτλος: Υλοποίηση ασύρματου δικτύου αισθητήρων με μικροελεγκτή Παππά Βασιλική Α.Ε.Μ 3146.
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
Επιβλέπων: Ιωάννης Καλόμοιρος, Επίκουρος καθηγητής
Πτυχιακή εργασία Ονοματεπώνυμο: Στεργίου Παναγιώτα 2297
Δίκτυα Ι Βπ - 2ο ΕΠΑΛ ΝΕΑΣ ΣΜΥΡΝΗΣ 2011.
ΤΕΙ ΠΕΙΡΑΙΑ. ΤΜΗΜΑ Η/Υ ΣΥΣΤΗΜΑΤΩΝ
TO BIOS βρίσκεται στην μητρική πλακέτα και τα αρχικά του σημαίνουν: Βασικό Σύστημα Εισόδου-Εξόδου.
Εργαστηριακές ασκήσεις με τον μικροελεγκτή PIC
Μετάδοση δεδομένων Παράλληλη μετάδοση Σειριακή μετάδοση
ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα.
Μικροηλεκτρονική [ΜΕΡΟΣ 2ο].
Μεταγράφημα παρουσίασης:

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΥΛΟΠΟΙΗΣΗ ΔΙΑΣΥΝΔΕΣΗΣ USB ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΥΛΟΠΟΙΗΣΗ ΔΙΑΣΥΝΔΕΣΗΣ USB Σπουδαστής: Τσιώγκας Παρασκευάς (493) Επιβλέπων καθηγητής: Δρ. Καλόμοιρος Ι.

ΔΗΜΙΟΥΡΓΙΑ ΠΕΡΙΦΕΡΕΙΑΚΟΥ USB Συσκευή (HID) με τον απαραίτητο κώδικα (C++) FIRMWARE (.HEX αρχείο) Μικροελεγκτής PIC18F4550 www.microchip.com Εισερχόμενο αναλογικό σήμα Η/Υ Ξενιστής – Host με τις απαραίτητες θύρες USB PIC18F4550 Μετατροπέας A/D: Μετατροπή αναλογικού σήματος σε ψηφιακό Η/Υ Host Application (M.Visual C++) – Εφαρμογή ελέγχου της συσκευής (HID), Λ. Σ. (Windows) - (Drivers), αρχεία .dll, συναρτήσεις (Application Programmer’s Interface). Τμήμα USB: Αποστολή A/D μετατροπής προς τον ξενιστή Πρωτόκολλο επικοινωνίας USB 2.0 (Full Speed) (Μεταδόσεις - ελέγχου και διακοπών)

USB (Universal Serial Bus) Ευκολία χρήσης Ταχύτητα Αξιοπιστία Επιλογές μετάδοσης Κατανάλωση ισχύος Χαμηλό κόστος Διανεμητές (hubs) USB USB: Σύστημα σειριακού διαύλου επικοινωνίας ενός υπολογιστή με περιφερειακά συστήματα. Πρώτες εταιρείες κατασκευής Intel Microsoft Philips US Robotics Εκδόσεις USB 1.0 (1995) USB 1.1 (1998) USB 2.0 (2000) USB 3.0 (2009)

USB (Universal Serial Bus) Low Speed Full Speed High Speed Super Speed USB 1.1 & USB 2.0 1.5 Mbps 12 Mbps 480 Mbps USB 3.0 5 Gbps Ταχύτητες USB

Βασικές κλάσεις USB συσκευών Συσκευές ήχου Συσκευές εικόνας Διανομέας (hub) Χειριστήρια (HIDs – Human Interface Device) Εκτυπωτές Μονάδες αποθήκευσης Συσκευές USB

ΠΡΩΤΟΚΟΛΛΟ USB – ΜΕΤΑΔΟΣΗ ΔΕΔΟΜΕΝΩΝ Απαρίθμηση (enumeration) Καταληκτικά σημεία (Endpoints) Επικοινωνιακός σωλήνας (pipe) Περιγραφείς (Descriptors) Πακέτα: Πακέτο κουπονιού - Token Packet, Πακέτο δεδομένων - Data Packet, Πακέτο χειραψίας - Handshake Packet. Ξενιστής: Εφαρμογή ελέγχου (Host Application) – Windows – Drivers – συναρτήσεις API – αρχεία .dll

ΤΡΟΠΟΙ ΜΕΤΑΔΟΣΗΣ ΔΕΔΟΜΕΝΩΝ Μετάδοση ελέγχου (Control Transfer): Απαρίθμηση (enumeration), διαμόρφωση, υποχρέωση υποστήριξης από όλα τα περιφερειακά. Συμπαγείς μεταδόσεις (Bulk Transfer): Μαζικές μεταδόσεις δεδομένων. Μεταδόσεις διακοπών (Interrupt Transfers): Μετάδοση μέσα σε στενά χρονικά όρια χωρίς καθυστέρηση. Ισόχρονες Μεταδόσεις (Isochronous Transfers): Μεταφορά δεδομένων συνεχούς ροής (streaming data).

PIC 18F4550 8bit Εταιρεία κατασκευής Microchip Οικονομική τιμή, υψηλή αντοχή, υψηλό επίπεδο σχεδίασης Αρχιτεκτονικής Harvard Μνήμη Flash 40 ακροδέκτες (PDIP) Program Memory 32 KB Μνήμη RAM 2,048 bytes EEPROM 256 bytes Το τμήμα μετατροπής A/D εύρους 10 bit USB 2.0 Βαθμίδες σειριακής και παράλληλης επικοινωνίας SPI, I2C, USART, SPP Εύρος τάσης λειτουργίας 2V - 5.5V Συχνότητα λειτουργίας έως 48MHz 75 εντολές προγραμματισμού

ΤΟ USB ΤΜΗΜΑ ΤΟΥ PIC 18F4550 Ιδιότητες Full Speed Transceiver USB 2.0 (12Mbit/s) 16 καταληκτικά σημεία USB RAM 1Κ byte (Banks από 4 – 7) Συχνότητα λειτουργίας 6 – 48MHz Internal Pull Up resistors (D+/D-) Καταχωρητές ελέγχου και διαχείρισης Καταχωρητής ελέγχου (UCON) Καταχωρητής διαμόρφωσης (UCFG) Καταχωρητής κατάστασης (USTAT) Καταχωρητής διεύθυνσης (UADDR) Καταχωρητής καταληκτικού σημείου (UEPn) Καταχωρητές αριθμού πλαισίου (UFRM)

A/D converter 10 bit 13 ch Καταχωρητές ελέγχου και διαμόρφωσης A/D μετατροπέα ADCON1 διαμόρφωση των ακροδεκτών ADCON2 διαμόρφωση πηγής ρολογιού, προγραμματισμός χρόνου απόκτησης σήματος, στοίχιση του αποτελέσματος της μετατροπής ADRESH:ADRESL αποθήκευση αποτελέσματος της μετατροπής (16bit) ADCON0 έλεγχος ενεργοποίησης και επιλογή καναλιού Έλεγχος και διαχείριση των καταχωρητών του A/D μετατροπέα πραγματοποιείται με τη βοήθεια των ειδικών λειτουργιών. Microchip MPLAB C18 {C:\MCC18}--> πηγαίος κώδικας των λειτουργιών. Λειτουργίες Περιγραφή BusyADC εκτελείται κάποια μετατροπή αυτή τη στιγμή; CloseADC απενεργοποίηση του A/D μετατροπέα ConvertADC ενεργοποίηση του A/D μετατροπέα OpenADC διαμόρφωση του A/D μετατροπέα ReadADC ανάγνωση των αποτελεσμάτων του A/D μετατροπέα SetChanADC επιλογή του A/D καναλιού

ΠΑΡΑΔΕΙΓΜΑ ΔΙΑΜΟΡΦΩΣΗΣ A/D Converter OpenADC(ADC_FOSC_64 & ADC_LEFT_JUST & ADC_20_TAD, ADC_CH0 & ADC_INT_OFF & ADC_VREFPLUS_VDD & ADC_VREFMINUS_VSS, 0b001); Delay10TCYx( 5 ); //Απαραίτητη χρονική καθυστέρηση ώστε ο μετατροπέας να λάβει σωστά όλες τις παραμέτρους της παραπάνω διαμόρφωσης ConvertADC(); // Έναρξη μετατροπής while( BusyADC() ); //Αναμονή για την ολοκλήρωση result = ReadADC(); //Ανάγνωση αποτελέσματος CloseADC(); //Απενεργοποίηση A/D μετατροπέα

ΑΠΑΡΑΙΤΗΤΑ ΕΡΓΑΛΕΙΑ MPLAB v8.2 MICROCIP C18 Compiler Student Edition PICSTART Plus MICROCHIP Microsoft Visual Studio Proteus Isis (Labcenter Electronics)

Η ΣΥΣΚΕΥΗ (HID)

Σύνολο αρχείων κώδικα FIRMWARE (modular) σπονδυλωτό πρόγραμμα MCHPFSUSB Framework v2.3 - Microchip Solutions (αρχεία υλοποίησης πρωτοκόλλου USB) Jan Axelson - Generic HID (αρχεία διαμόρφωσης της συσκευής, περιγραφείς) Σύνολο αρχείων κώδικα FIRMWARE (modular) σπονδυλωτό πρόγραμμα

ΒΑΣΙΚΟ ΠΡΟΓΑΜΜΑ (main) generic_hid.c USBDeviceInit();--(usb_device.c): αρχικοποίηση, απαρίθμηση (enumeration), ενεργοποίηση τμήματος USB. USBDeviceTasks();--(usb_device.c): ανταπόκριση στις απαιτήσεις USB επικοινωνίας, εξυπηρέτηση των καταστάσεων του διαύλου USB. SetConfigurationOptions(); - Διαμόρφωση συσκευής (UCFG). void ProcessIO(void)--(generic_hid.c): έλεγχος ικανότητας αποστολής και λήψης δεδομένων. Επιθυμητή κατάσταση CONFIGURED_STATE. void ReportLoopBack(void)--(generic_hid.c): διαμόρφωση και έλεγχος του A/D μετατροπέα. Αποστολή και λήψη δεδομένων.

ReportLoopBack void ReportLoopBack(void) { BYTE count = 0; Ορισμός του ακροδέκτη RA0/AN0 σαν είσοδος του αναλογικού σήματος προς τον μετατροπέα. TRISAbits.TRISA0 = 1; Διαμόρφωση A/DC: συχνότητα λειτουργίας 48 MHz & αριστερή καταχώρηση αποτελέσματος & χρόνος απόκτησης 20 περίοδοι & επιλογή καναλιού, channel 0 & απενεργοποίηση διακοπής κατά την ολοκλήρωση της μετατροπής & τάση αναφοράς VDD και VSS (5V and GND) & διαμόρφωση A/D θυρών – όλα τα κανάλια είναι αναλογικής εισόδου. OpenADC(ADC_FOSC_64 & ADC_LEFT_JUST & ADC_20_TAD, ADC_CH0 & ADC_INT_OFF & ADC_VREFPLUS_VDD & ADC_VREFMINUS_VSS, 0b001); Απαραίτητη χρονική καθυστέρηση ώστε ο μετατροπέας να λάβει σωστά όλες τις παραμέτρους της παραπάνω διαμόρφωσης. Delay10TCYx(5); Έναρξη μετατροπής. ConvertADC();

ReportLoopBack Έλεγχος και αποστολή δεδομένων με τη βοήθεια κατάλληλων μακροεντολών. switch (usb_state) { case 'r': Έλεγχος για το εάν λαμβάνονται δεδομένα τη δεδομένη στιγμή. Όταν η σημαία UOWN του καταχωρητή κατάστασης BDnSTAT είναι ‘1’ έχουμε λήψη δεδομένων, διαφορετικά ‘0’ δεν έχουμε. if(HIDRxHandleBusy(lastOutTransmission) == 0) Τα δεδομένα θα ληφθούν διαμέσου του καταληκτικού σημείου HID_EP, - το καταληκτικό σημείο HID_EP είναι διαμορφωμένο κατάλληλα, μέσω του περιγραφέα καταληκτικού σημείου, ώστε να ανταποκρίνεται στις απαιτήσεις των χειριστηρίων - και στη συνέχεια προς ένα πίνακα αποθήκευσης δεδομένων λήψης hid_report_out [], επίσης ορίζεται και το μέγεθος των byte που μπορεί να λάβει η συσκευή, στη περίπτωσή μας το μέγιστο είναι 64 byte. lastOutTransmission = HIDRxPacket(HID_EP, (BYTE*)&hid_report_out, 64); usb_state = 'p'; } break;

ReportLoopBack case 'p': { Έλεγχος για το εάν λαμβάνονται δεδομένα τη δεδομένη στιγμή. if(HIDRxHandleBusy(lastOutTransmission) == 0) Ο δείκτης CNT αποτελεί ένα μετρητή μεγέθους των δεδομένων. if (lastOutTransmission->CNT > 0) Προετοιμασία προς αποστολή των ληφθέντων δεδομένων for (count; count <= HID_OUTPUT_REPORT_BYTES; count++) Μεταφορά του αποτελέσματος της A/D μετατροπής στον πίνακα αποστολής δεδομένων προς τον ξενιστή. hid_report_out[count] = ADRESH; hid_report_in[count] = hid_report_out[count]; }

ReportLoopBack Τα δεδομένα είναι έτοιμα να αποσταλούν προς τον ξενιστή. usb_state = 't'; } else { usb_state = 'r'; break;

ReportLoopBack case 't': { Έλεγχος για το εάν αποστέλλονται δεδομένα τη δεδομένη στιγμή. if (HIDTxHandleBusy(lastTransmission) == 0)   Αποστολή δεδομένων του πίνακα hid_report_in με προκαθορισμένο μέγεθος δεδομένων HID_INPUT_REPORT_BYTES μέσω του καταληκτικού σημείου HID_EP. lastTransmission = HIDTxPacket(HID_EP, (BYTE*)&hid_report_in, HID_INPUT_REPORT_BYTES); usb_state = 'r'; } break; default:

Εφαρμογή ελέγχου της συσκευής (HID) Γλώσσα προγραμματισμού Host Application Εφαρμογή ελέγχου της συσκευής (HID) Γενική εφαρμογή (usbhidio) Jan Axelson www.lvr.com Γλώσσα προγραμματισμού Microsoft Visual c++ (Microsoft Visual Studio). Τύπος μετάδοσης μετάδοση ελέγχου και μετάδοση διακοπών Παράθυρο διαλόγου συσκευής HID και Η/Υ.

ΚΩΔΙΚΑΣ Host Application Πλήκτρο Find My Device: Αναζήτηση της συσκευής μας – διαδοχικές κλήσεις συναρτήσεων API μέχρι την ανίχνευση της επιθυμητής συσκευής. HidD_GetHidGuid SetupDiGetClassDevs SetupDiEnumDeviceInterfaces SetupDiGetDeviceInterfaceDetail CreateFile HidD_GetAttributes HidD_GetPreparsedData HidP_GetCaps Συναρτήσεις API: Απαρίθμησης συσκευών της κλάσης χειριστηρίων (HIDs) Συναρτήσεις API: Άνοιγμα της διαδρομής (DevicePath -> DeviceHandle) προς την επιθυμητή συσκευή (HID) , ταυτοποίηση VID και PID. Συναρτήσεις API: Επιστροφή ιδιοτήτων της συσκευής μας

ΚΩΔΙΚΑΣ Host Application Πλήκτρο ONCE: Ανταλλαγή δεδομένων Ανάγνωση δεδομένων ReadFile (ReadHandle, InputReport, Capabilities.InputReportByteLength, &NumberOfBytesRead); Εγγραφή δεδομένων WriteFile (WriteHandle, OutputReport, Capabilities.OutputReportByteLength, &BytesWritten, NULL);