TI Launchpad Merkwürdige Code ausführung

OP #1930186
Lesenswert?
• ▲
▼
Hallo

Ich bin gerade dabei mich ein wenig mit dem TI Launchpad zu 
beschäftigen...
Zum einstieg, wollte ich mal ein PWM Signal in Software erzeugen...

Dazu hab ich folgenden Code geschrieben:
1
#include  "msp430x20x2.h"
2

3
#define LED_Blue    0x80;
4

5

6
void clocks(void)
7
{
8
  BCSCTL1 = CALBC1_1MHZ;                    // Set range
9
  DCOCTL = CALDCO_1MHZ;
10
  BCSCTL2 &= ~(DIVS_3);                         // SMCLK = DCO / 8 = 1MHz   
11
}
12

13
void main(void)
14
{
15
  unsigned char ucPWM = 200;
16
    unsigned char ucCounter = 0;
17
    
18
    clocks();
19
    
20
    P1DIR = 0x80;   //LED (P1.7) als Ausgang rest als Eingang 
21
 
22
  while(1)
23
  {
24
     while(ucCounter != 255)
25
         {
26
            if(ucPWM < ucCounter) P1OUT |= LED_Blue;
27
            ucCounter++;
28
         }
29
         P1OUT &= ~LED_Blue;
30
         ucCounter = 0;
31

32
         if((P1IN & 0x08) > 0)  ucPWM++;    //Bei Tastendruck PWM wert erhöhen         
33
  }  
34
}

der code läuft grundsätzlich einwandfrei...

Jedoch folgendes problem:
Wenn ich im Debugmodus durchsteppe und den Taster drücke, wird ucPWM 
problemlos erhöht, wenn ich jedoch das programm "Frei laufen lasse" dann 
bleibt ucPWM permanent auf 200 als ob der wert irgendwie immer neu 
initialisiert werden würde...

Hat jemand eine idee woran das liegen könnte?

Danke schonmal
Persönliche Seite #1930265
Lesenswert?
• ▲
▼
Claudio Hediger schrieb:
> Gibt es eine Dokumentation wo die ganzen Register wie zb. BCSCTL1
> beschrieben sind ausser dem Datenblatt?

Ja, der zur jeweiligen Familie gehörende User's Guide.

> den da weiss ich ja nicht ob
> alle auch im Compiler verfügbar sind...

Den_n_. Mit zwei 'n'. Verfluchtehackeichkannsnichtmehrsehen.

</ot>

Ob sie im Compiler verfügbar sind steht natürlich nicht in der 
Dokumentation, sondern in den für die entsprechenden Varianten 
angepassten und mit dem Compiler mitgelieferten Headerdateien. Sofern 
der Compiler nicht steinalt ist (und also keine Unterstützung für die 
entsprechende Variante enthält), sind diese vollständig.

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.