Was mach der Reset Button

OP #3620712
Lesenswert?

Hi,
ich verwende den Micro controller MSP430G2553 und möchte die Leds am 
Launch Pad von Texas Instruments(Grün und Rot) ansteuern.

Ich check aber folgendes nicht. Bei folgendem Code kann ich mit 
betätigen der Reset Taste zwischen beide Led blinken geleichzeitig und 
Led blinken abwechseld hin und her schalten. Das geht nur wenn ich mich 
nicht im Debug modus befinde.
1
#include <msp430.h>
2

3
int main(void)
4
{
5
  WDTCTL = WDTPW + WDTHOLD;  // Stop watchdog timer
6
  P1DIR = P1DIR | 0x01;    // Set P1.0 to output direction
7
  P1DIR = P1DIR | 0x40;    // Set P1.6 to output direction
8

9
  for(;;)
10
  {
11
    volatile unsigned int i;// volatile to prevent optimization
12

13
    P1OUT = P1OUT ^ 0x01;  // Toggle P1.0 using exclusive-OR
14

15
    i = 10000000;  // SW Delay
16
    do i--;
17
    while(i != 0);        
18

19
    P1OUT = P1OUT ^ 0x40;  // Toggle P1.6 using exclusive-OR
20

21
  }
22
  
23
  return 0;

Wenn ich jetzt  die zwei P1OUT Befehle untereinander schreibe kann ich 
nicht mehr umschalten.
1
#include <msp430.h>
2

3
int main(void)
4
{
5
  WDTCTL = WDTPW + WDTHOLD;  // Stop watchdog timer
6
  P1DIR = P1DIR | 0x01;    // Set P1.0 to output direction
7
  P1DIR = P1DIR | 0x40;    // Set P1.6 to output direction
8

9
  for(;;)
10
  {
11
    volatile unsigned int i;// volatile to prevent optimization
12

13
    P1OUT = P1OUT ^ 0x01;  // Toggle P1.0 using exclusive-OR
14
    P1OUT = P1OUT ^ 0x40;  // Toggle P1.6 using exclusive-OR
15

16
    i = 10000000;  // SW Delay
17
    do i--;
18
    while(i != 0);        
19

20
    
21

22
  }
23
  
24
  return 0;

Meine Frage ist nun was passiert wenn ich die Reset taste im edit mode 
betätige wenn ich den ersten Befehle oberhalb der Schleife einfüge und 
den zweiten unterhalb einfüge. Nur mit Konstellation ist möglich mit 
reset Button zwischen den gleichzeitig und abwechseln blinken 
umzuschalten.

was mir noch nicht klar ist. wenn ich jetzt im Gleichzeitig mode bin und 
den Befehl unter der Schleife nach oben über die schleife aber unter 
halb des ersten P1OUT befehls kopiere dann das Programm übertrage bin 
ich im abwechselden mode Ich kann nun nicht mehr mit der Reset taste im 
Edit mode auf gleichzeitigen mode umschalten.

Das selbe funktioniert auch umgekehrt. d.h im Blinken Mode rauf kopieren 
und dann auf micro controller spielen und dann befindet man sich im 
gleichzeitigen mode und kann auch nicht mehr mit der reset taste 
umschalten.

Vielen Dank
Lg senzi



Vielen dank
Senzi
Gast #3620832
Lesenswert?

>beide Led blinken geleichzeitig und Led blinken abwechseld

Was beim Start in P1out steht, könnte reiner Zufall sein. Ist zumindest 
bei den mir bekannten Mikrocontrollern zufällig. Vielleicht 
initialisiert der Debugger den Port. Vielleicht ist das auch nur Zufall.
Gast #3620846
Lesenswert?

... errinnere mich noch so dunkel an ein Lauflicht-Beispiel. Nur ein 
paar Zeilen, trotzdem seltsame Effekte.

Da stellte sich heraus; der Debugger löschte das Carry-Flag. Ohne 
Debugger war es beim Programmstart zufällig.

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