Hallo Forum, habe mir auf Basis des PIC18F2550 ein Testboard aufgebaut. Mein Programm läuft soweit, dass der PC es als virtuellen ComPort erkennt und ich Daten senden und empfangen kann. Nun brauche ich aber eine Zeitmessung, die ich gerne mit dem Timer0 realisieren möchte. Dieser soll bei jedem overflow(~1ms)in einer Interrupt-Routine eine Variable hochzählen, das funktioniert soweit (ohne USB) auch, aber sobald ich die Interrupts aktiviere(mit USB) erkennt der PC das USB-Device nicht mehr. Kann mir jemand sagen an was das liegt, bzw. wie ich das beheben kann? lsk
Hallo Zeige doch mal Deinen Code.. 1.) Vielleicht dauert deine ISR zu lange und Deine ServiceUsb-Routine wird zu wenig of aufgerufen. 2.) Timerfrequenz ist zu hoch eingestellt (gleich wie oben) 3.) ISR fehlerfahft, z.B. INTCONbits.TMR0IF nicht gelöscht. ... Beste Grüsse Frank
Den Code kann ich im Moment leider nicht posten, da ich mit meinem Notebook hier nicht ins Netz darf. Ist es vielleicht möglich die Schnittstelle während der Zeitmessung zu stoppen, ohne das die Verbindung getrennt wird, ich muss nämlich nur zu Beginn die Konfiguration senden und nach der Zeitmessung die Werte an den PC zurückschicken. Gruß lsk
Denke, das ist nicht notwendig. Ausserdem könnte es dann sein, dass Windows laufend eine neue Verbindung aubaut:) 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.