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

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