MSP430 Programmierproblem :-(

Gast #1215943
Lesenswert?
• ▲
▼
Guten Tag leudz beschäftige mich seit n Paar Wochen mit dem MSP430.
habe folgendes Problem ich habe an den OUTPOUT PORTS 8 Leds 
angeschlossen habe also 0...255 möglichkeiten die Anzusteuer.

Ich will nun mit meinem Taster den ich an Pin4.3 angeschlossen habe 
immer einen anderen Zustand abrufen wenn ich meine Taste drücke.

zB
Taster 1 drücken Zustand 0b00000001 (Erste Led an)
Taster 2mal drücken Zustand 0b00000010 (2 Led an )

usw.....

Kriege es aber irgendwie nicht hin........

Mein Prog schat so aus

Bei einmal drücken der Taste laufen alle Zustände
wie kann ich nun das so machen wie vorhin beschrieben.

Danke für die Hilfe.


#include  <msp430x16x.h>

void pause(unsigned int mswert);
unsigned char cAusgabe;

void main(void)
{


  WDTCTL = WDTPW + WDTHOLD;   // Stop WDT.
  BCSCTL1 &= ~XT2OFF;         // XT2= HF XTAL.
  P5DIR=0b11111111;
  P5SEL=0b00000000;
  P4DIR=0b00000000;
  P4SEL=0b00000000;


  for(;;)
  {
  if ((P4IN&0b00001000)==0)
    {
    for (cAusgabe=0;cAusgabe<255;cAusgabe++)
      {
      P5OUT=cAusgabe;
      pause(75);
      }
    }
  else P5OUT =0b00000000;
  }
}
void pause (unsigned int mswert)
{
  unsigned int iZaehler;

  for(iZaehler=0;iZaehler<(26*mswert);iZaehler++)
  {
  }
}
Gast #1215964
Lesenswert?
• ▲
▼
Mit wieviel MHz läuft dein MSP430 nochmal genau?
1.Ich denke deine Pause(); Funktion ist net OK.
Ich kann mir nicht vorstellen, dass dein MSP 26 leere 
Forschleifendurchgänge in einer ms erledigt.

2. Die gesamte Forschleife wird mit Sicherheit wegoptimiert sein.
Die gibt es also überhaupt nicht.

3. Versuch mal extrem kurz die Taste zu betätigen. Was Siehst du dann?
Gast #1215975
Lesenswert?
• ▲
▼
Andere Vorschlag.
Kannst du den Taster nicht an den Port 1 oder 2 anschliesen.
Dann könnstest du nählich einen Interrupt nutzen um den Zusand am Port 8 
hochzuzählen.
und im gleichen Zug würde ich den Taster entprellen (Hardware nicht 
Software)
Gast #1215979
Lesenswert?
• ▲
▼
Ach nochwas ich würde mir an deiner Stelle ganz schnell abgewöhnen die 
Konfigurationswerte in Binärer Form dort hinzu schreiben.
TI hat dort ganz gute define Tabellen dafür. Da sieht doch niemand 
durch.
:-)

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.