PIC18F2550 USB und Interrupts

Gast #688631
Lesenswert?

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
Gast #688754
Lesenswert?

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
Gast #688898
Lesenswert?

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

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