Hallo zusammen Ich verwende seit einiger Zeit den PIC18F4550 und kommuniziere mit Hilfe des USB-Busses. Als Software habe ich das Beispiel von Microchichip geändert. Alles funktioniert soweit sehr gut. Mir gefällt allerdings nicht, dass man laufend Pollen muss. Könnt ihr mir bitte ein paar Hinweise geben, wie man die Kommunikation interruptgesteuert lösen kann? Momentan rufe ich laufend diese Prozedur auf: void USBTasks(void) { /* * Servicing Hardware */ USBCheckBusStatus(); // Must use polling method if (UCFGbits.UTEYE!=1) USBDriverService(); // Interrupt or polling method }// end USBTasks ..die drittletzte Zeile lässt erahnen, dass Interruptbetrieb auch funktioniert.. Vielen Dank Frank
Hallo Alo ich habe im Internet inzwischen Code gefunden. Komischerweise muss in der Hauptprogrammschleife aber laufend GIE=1 gesetzt werden? Ist doch dubios, oder nicht:)? void main(void) { InitializeSystem(); while((usb_device_state < CONFIGURED_STATE)||(UCONbits.SUSPND==1)) INTCONbits.GIE=1; while(1) { INTCONbits.GIE=1; } }//end main Blick hier jemand die Logik? Beste Grüsse Geri
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.