Gast
#77599
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
|
Anzeige
|
MSP430 TimerB
Gast
#77599
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
Gast
#77600
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...
Gast
#77601
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
Gast
#77602
@Benjamin: Du solltest es auch haben wenn Du gcc verwendest. Wie gesagt im Installationspfad von gcc suchen ;-) C:\mspgcc\share\examples
Gast
#77603
Alles klar - dann werde ich nochmal alles runterladen. Mein share-Ordner ist nämlich leer. Danke! Benni
Gast
#77604
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 Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|