Interrupt per AVR USB an WIndows

Gast #943799
Lesenswert?

Hallo,

Ist es möglich per USB einen Interrupt in Windows zu erzeugen?

Wenn ja wie?

Hintergrund:

Ich habe einen Schlüsselschalter, der Windows melden soll ob und welcher 
Schlüssel gesteckt ist! Sobald dieser aber rausgezogen wird soll Windows 
eine Meldung bringen...
Moderator (Firma: Titel) Persönliche Seite #943862
Lesenswert?

>...USB einen Interrupt in Windows...
Ein USB-Device wird vom USB-Host in zyklischen Zeitabständen gepollt. 
Daher ist es per Definition nicht möglich, einen "Interrupt" von einem 
Slave an einen Host zu senden.
Der einzige Weg ist, ein USB-Device zu programmieren, das den 
Schlüsselschalter an das OS meldet, wo wieder ein Stück Software darauf 
reagiert.

>Sobald dieser aber rausgezogen wird soll Windows eine Meldung bringen
Windows wird keine Meldung bringen, das ist nicht Aufgabe eines 
Betriebssystems. Du kannst aber ein Stück Software (aka Programm) 
schreiben, das eine Meldung anzeigt.
Gast #946033
Lesenswert?

Ich verstehe einfach das AVR-USB nicht!

Jedesmal wenn ich es builden will kommen hunderte von Fehlern in der 
usbdrv.h dass ein "=",",",";" oder "asm" erwartet wird?!? Was mach ich 
denn da falsch?




Wie kann ich denn über AVR-USB Daten an Windows schicken ohne vorher 
etwas an den Atmel geschickt zu haben?
Gast #946216
Lesenswert?

Hatt denn niemand eine Idee?

../usbdrv.h:429: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'char'
../usbdrv.h:435: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'char'
../usbdrv.h:441: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'char'
../usbdrv.h:447: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'char'
../usbdrv.h:453: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'int'
../usbdrv.h:459: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'int'
../usbdrv.h:465: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'int'
../Schlüssel.c: In function 'usbFunctionSetup':
../Schlüssel.c:13: error: number of arguments doesn't match prototype
../usbdrv.h:171: error: prototype declaration

Hier noch der Code:
1
/* ------------------ forward declaration of descriptors ------------------- */
2
/* If you use external static descriptors, they must be stored in global
3
 * arrays as declared below:
4
 */
5
#ifndef __ASSEMBLER__
6
extern
7
#if !(USB_CFG_DESCR_PROPS_DEVICE & USB_PROP_IS_RAM)
8
PROGMEM
9
#endif
10
char usbDescriptorDevice[];
11

12
extern
13
#if !(USB_CFG_DESCR_PROPS_CONFIGURATION & USB_PROP_IS_RAM)
14
PROGMEM
15
#endif
16
char usbDescriptorConfiguration[];
17

18
extern
19
#if !(USB_CFG_DESCR_PROPS_HID_REPORT & USB_PROP_IS_RAM)
20
PROGMEM
21
#endif
22
char usbDescriptorHidReport[];
23

24
extern
25
#if !(USB_CFG_DESCR_PROPS_STRING_0 & USB_PROP_IS_RAM)
26
PROGMEM
27
#endif
28
char usbDescriptorString0[];
29

30
extern
31
#if !(USB_CFG_DESCR_PROPS_STRING_VENDOR & USB_PROP_IS_RAM)
32
PROGMEM
33
#endif
34
int usbDescriptorStringVendor[];
35

36
extern
37
#if !(USB_CFG_DESCR_PROPS_STRING_PRODUCT & USB_PROP_IS_RAM)
38
PROGMEM
39
#endif
40
int usbDescriptorStringDevice[];
41

42
extern
43
#if !(USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER & USB_PROP_IS_RAM)
44
PROGMEM
45
#endif
46
int usbDescriptorStringSerialNumber[];
47

48
#endif /* __ASSEMBLER__ */
Gast #2209483
Lesenswert?

Hallo Thorsten

ich war soeben selbst auf der Suche nach einer Problemlösung für diese 
Fehlermedlung. Das Problem ist gelöst: In einem eingebundenne h File 
hatte ich ein ";" vergessen.

Gruss
Franz-Juergen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren