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

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.