#pragma once
typedef unsigned char byte;
//typedef unsigned short ushort,wchar_t;
//typedef unsigned long ulong;
register byte usbCfg asm("r2");
// Bit 0: Konfiguriert ja/nein
// Bit 1: Remote Wakeup ja/nein
// Bit 2: Alternate Setting für Interface2 (EP3)
// Bit 3: Höre B2, sonst B1 (Audio-Selektor)
// Bit 4: frei
// Bit 5: frei
// Bit 6: Flash = Quelle für Deskriptordaten (sonst RAM)
// Bit 7: EEPROM = Quelle
register byte rsv3 asm("r3");
register byte rsv4 asm("r4");
register byte rsv5 asm("r5");
register byte rsv6 asm("r6");
register byte rsv7 asm("r7");
register byte rsv8 asm("r8");
register byte rsv9 asm("r9");
#define usbInit() (USBCON=0x31)
// Nur OTG-Pad überwachen mit Interrupt — um den Rest kümmert sich usbPoll()
void onSuspend(void); // Rückrufe
void onResume(void);
void usbPoll(void); // zyklisch aufzurufen
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#define NOINIT __attribute__((section(".noinit")))
Detected encoding: UTF-8 | 0
|