isix
30.01.2006, 12:31
Hallo,
da ich von Assembler keine Ahnung habe, programmiere ich meinen MSP430F449 in C. Bis zur LCD-Ausgabe klappt auch alles, aber dann ...
Der µC soll, wenn am Port P6.5 high anliegt einfach die angeführte while -Schleife durchlaufen. Das tut er jedoch nicht sondern springt einfach zur nächsten Funktion. Was übersehe ich denn hier?
while ((P6IN & BIT5)==1) //Abfrage ob P6.5 (essung R0) ein
{
char zeile1[16]="Sensorwiderstand";
P6SEL=0x04; //Nutzung P6.2 für ADC
ADC12CTL0 |= ENC+ADC12SC; //anfangen und Konvertierung durchführen
wait (4000); //500 µs warten
R_0 = (ADC12MEM2/I_S); //Berechnung Widerstand
sprintf(zeile2,"%.1f",R_0); //Floatwert R_0 in string zeile 2 mit einer Nachkommastelle
strcat(zeile1, zeile2); //string zeile2 an zeile1 angehängt
lcd_puts(zeile1); //Ausgabe der Strings
wait (300000);
}
Die Pins sind übrigens wie folgt initialisiert:
P6DIR=0x00; //P6.0, P6.1 und P6.2 Eingänge ADC12, P6.3, P6.5 und P6.7 Eingänge Wahlschalter
P6SEL=0x07; //P6.0, P6.1 und P6.2 als A/D-Wandler nutzen, Rest als GPIO
da ich von Assembler keine Ahnung habe, programmiere ich meinen MSP430F449 in C. Bis zur LCD-Ausgabe klappt auch alles, aber dann ...
Der µC soll, wenn am Port P6.5 high anliegt einfach die angeführte while -Schleife durchlaufen. Das tut er jedoch nicht sondern springt einfach zur nächsten Funktion. Was übersehe ich denn hier?
while ((P6IN & BIT5)==1) //Abfrage ob P6.5 (essung R0) ein
{
char zeile1[16]="Sensorwiderstand";
P6SEL=0x04; //Nutzung P6.2 für ADC
ADC12CTL0 |= ENC+ADC12SC; //anfangen und Konvertierung durchführen
wait (4000); //500 µs warten
R_0 = (ADC12MEM2/I_S); //Berechnung Widerstand
sprintf(zeile2,"%.1f",R_0); //Floatwert R_0 in string zeile 2 mit einer Nachkommastelle
strcat(zeile1, zeile2); //string zeile2 an zeile1 angehängt
lcd_puts(zeile1); //Ausgabe der Strings
wait (300000);
}
Die Pins sind übrigens wie folgt initialisiert:
P6DIR=0x00; //P6.0, P6.1 und P6.2 Eingänge ADC12, P6.3, P6.5 und P6.7 Eingänge Wahlschalter
P6SEL=0x07; //P6.0, P6.1 und P6.2 als A/D-Wandler nutzen, Rest als GPIO