Hallo Zusammen! Seit ein paar Tagen versuche ich meinen TimerB mal zum auslösen einer Interrupts zu bewegen. Nichts! Timer A war kein problem. Hat mal jemand einen Tip? Wäre sehr dankbar! Benni
Hallo Benjamin! Schau Dir mal das Verzeichnis "examples/" im mspgcc-Installationspfad an. Da sind viele (alle?) Beispiele von TI für den MSP-GCC portiert worden. Falls Du keinen GCC verwendest, kannst Du evtl. trotzdem den Code als Beipsiel benutzen, deshalb hänge ich eins dieser Files mal an diese Antwort an. Gruß, Patrick...
Hi Patrick! Danke für die Datei. Wo finde ich denn dieses Verzeichnis? Warum habe ich das nicht? Ist das neu dazugekommen? Ich habs nicht. Danke
@Benjamin: Du solltest es auch haben wenn Du gcc verwendest. Wie gesagt im Installationspfad von gcc suchen ;-) C:\mspgcc\share\examples
Alles klar - dann werde ich nochmal alles runterladen. Mein share-Ordner ist nämlich leer. Danke! Benni
So... das example habe ich ausprobiert. Die anderen habe ich auch mal versucht anzupassen aber so recht will das nicht klappen. Alles was sicher funktioniert ist, den Overflow-Interrupt. Ich verstehe einfach nicht, warum ich das mit dem TimerA problemlos gemeistert habe und das mit TimerB partou nicht klappen will. Aber vieleicht habe ich die grundsätzliche Funktionalität noch nicht erfasst: *********** Funktion?: *********** 1. Timer startet unter den geg. Parametern. 2. Bei erreichten einer der CCR wird ein interrupt ausgegeben. 3. Falls kein CCR "getroffen" wird läuft der Timer übwer und löst auch wieder einen Int. aus. ************** Die Frage ist: ************** A) Wann muß ich TBIE und wann CCIE configurieren und wann kommt der Int. über TIMERB0_VECTOR und TIMERB1_VECTOR? B) Wann steht was in TBIV? C) Wie weit läuft der Timer? - Im Beispiel oben kann man sehen, daß offensichtlich immer ein TIMERB1_VECTOR-Int. kommt und man dann über TBIV "auslesen" kann, warum (CCR1,CCR2 oder Overflow). Könnte ich da auch eni "erreichen" von CCR0 erkennen und auslesen? - In einem anderen Beispiel kann man lesen, das auf einen Int. mit TBCCR0 += 50000; reariert wird. Wie hoch kann denn der Wert letztendlich in TimerB werden? So müsste er ja unendlich hoch werden - 0der? Wobei ja TimerB auch noch im Contmode gestartet ist. Verwendungszweck: Ich möchte verzögert auf einen Portinterupt reagieren, wobei die Reaktionszeit variabel sein soll. Mit TimerA habe ich diese funktionalität locker erstellt: PortInt -> TimerStart (MC_1) -> TimerInt -> Port-Ausgabe -> Timer Initialisieren Bitte um erklärung! Danke Benni
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.