Hi, ich bin gerade dabei den MSP430F2013 zu programmieren. Leider habe ich bislang kaum Erfahrung im Programmieren, also habt bitte Nachsicht :) Ich möchte ein Poti an ADC_0 (P1.0 und P1.1) einlesen und das Ergebnis dann per SPI versenden. Die SPI Schnittstelle habe ich mitlerweile hinbekommen, aber ich bekomme den ADC0 nicht eingelesen. Es wird angeblich immer der Wert 0xFFFC eingelesen, egal in welcher Stellung das Poti ist. Meine Pinbelegung SPI: SPI=SDO, SDI, SCLK, P1.2 als SS - ADC: P1.0 = Poti(Regler), P1.1=Masse Achja, die Spannung am A0+ ändert sich auch wenn ich an meinem 5k Poti drehe, das habe ich gemessen. Mein Code ist im Anhang.
Niko Tech schrieb: > aber ich bekomme den ADC0 nicht eingelesen Hast Du Dir mal die Quelltextbeispiele von TI angesehen, die es für den 'F20xx und dessen SD16 gibt? http://www.ti.com/lit/zip/slac080 hieraus die drei Dateien msp430x20x3_sd16A_01.c msp430x20x3_sd16A_02.c msp430x20x3_sd16A_03.c In Deinem Code fällt mir auf, daß Du bei der Initialisierung von Peripherieregistern gerne den |= -Operator verwendest: > P1OUT |= BIT2; //SPI SS > P1DIR |= BIT2; //SPI SS Hast Du Dir bei allen diesen Zuweisungen angesehen, welchen Wert das Register nach POR hat? Du kannst nicht davon ausgehen, daß darin alle Bits auf 0 gesetzt sind, sondern musst das im "family user's guide" für jedes einzelne Register nachsehen.
Hi Rufus, Nein ich hab mir die Register nicht angesehen. Danke für den Hinweis... Hatte mal gelernt, dass man Register immer mit |= bzw. &=~ setzen sollte, um nicht bits zu setzen/löschen die man gar nicht will... Aber in der Initialisierung macht das natürlich Sinn :) Und ja, ich hab mir die TI Beispiele angeschaut, und auch hier im Forum alles abgegrast. Ich forsche nun schon seit ca. einer Woche woran es liegen kann und finde einfach keine Lösung :( ---- Habe nun auch in der Initialisierung alle Register mit = gesetzt, das Ergebnis ändert sich aber nicht.
Dann vergleiche doch mal Deinen Code mit dem, was die TI-Beispiele machen. Was machst Du anders?
Hab ich gemacht, weiß leider immernoch nicht was falsch war, aber nun tuts auf einmal... Habe eigentlich nichts geändert, sehr komisch.. Trotzdem danke!
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.