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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.