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++) { } }
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?
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)
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. :-)
>TI hat dort ganz gute define Tabellen dafür. Da sieht doch niemand >durch. Na ja, bei der Port I/Os ist binär gar nicht mal so ne schlechte Idee. Ich nutze dafür allerdings auch die "BIT0-7" defines
Ich habe angefangen mir für den MSP Bitfelder anzulegen wie es für Die DSPs von TI schon lange der Fall ist. Bin allerdings noch nicht mit fertig
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.