Triviales Problem; Ich versuche einen MSP430 2013 Microkontroller zu programmieren, ich benötige hierbei alle 10 PIN's als Outpins. Die ersten 8 waren einfach durch P1DIR |= 0xff; auf Outpin zu setzen und mit P1OUT |= BIT0 (als Beispiel) anzusteuern. Jedoch funktioniert das bei XIN und XOUT nicht. Laut Datenblatt sind dies auf P2.6 & P2.7 zu erreichen. Mit den befehlen P2DIR |= 0xff; //(um BIT0 bis BIT7 als Ausgang zu setzen) P2OUT |= BIT6; //(oder BIT7) zeigten die PIN's keine Reaktion. Hier eine Zeichnung der PIN Verteilung: http://www.assembla.com/spaces/msp430/documents/bslClu058r3zFJab7jnrAJ/download?filename=F20x3_device_pinout.JPG Mit welchem Befehl kann ich das erreichen? Weiters hätte ich noch die Frage wie ich einen Delay einbauen kann, ich hatte bereits folgende Methode die jedoch sehr umständlich ist: i = 50000; do (i--); while (i != 0); Geht das auch einfacher? Vielen Dank, LEDOmsig
Omsig Hollow schrieb: > Jedoch funktioniert das bei XIN und XOUT nicht. > Laut Datenblatt sind dies auf P2.6 & P2.7 zu erreichen. Das sind sie aber nur, wenn die Funktionalität als Anschluss für einen externen Quarz deaktiviert ist. Besorg Dir dringend den "Family User's Guide" (slau144h), die für Dich relevanten Seitennummern erwähne ich im folgenden: Interessant ist das Kapitel 8 "Digital I/O Operation", genauer der Punkt 8.2.5 "Function Select Registers PxSEL and PxSEL2" Für jeden der 8-Bit I/O-Ports gibt es dieses Registerpaar, beim 'F2013 also P1SEL/P1SEL2 und P2SEL/P2SEL2. Für Dich hier von Bedeutung ist also P2SEL/P2SEL2. Für jeden der Portpins (P2.0 bis P2.7) ist in jedem dieser Register jeweils ein Bit vorgesehen, die Bedeutung ist in der Tabelle auf S. 331 aufgelistet. Damit der betreffende Pin als I/O genutzt werden kann, muss das korrespondierende Bit sowohl in P2SEL als auch P2SEL2 auf 0 gesetzt werden. Die auf S. 335 beschriebene Reset-Initialisierung (PUC) aber tut genau das nicht, da wird P2SEL mit 0xC0 initialisiert - und damit ist die "Primary peripheral module function" für P2.6 und P2.7 aktiviert. Also: Initialisere P2SEL mit 0, und Du kannst P2.6 und P2.7 wie die anderen Bits des Ports ansteuern.
Vielen vielen dank Rufus! Läuft perfekt! Du bist jetzt mein ganz persönlicher Held! =D
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.