Hallo Ich sitze jetzt seit einiger Zeit am MSP430F4270 mit dem ich vier Kanäle A0-A3 oder zwei kanzle A0-A1 mit exakt 200 Samples pro Kanal (je nach dem was möglich ist mit OSR_32) mit Hilfe des SD16_A digitalisieren und später wenn alles läuft, über Timer uart an den PC versenden möchte. Mein Problem, und im Forum habe ich auch alles durchgelesen, und keine Antworten zu meinem Problem gefunden, ist, das trotz größter Bemühungen das ganze einfach nicht funktionieren will. Beim ersten Durchlauf der for-schleife funktioniert das auslesen und speichern der ersten beiden zwei Kanäle. Beim zweiten Durchlauf nicht mehr. Wenn ich Vier kanäle durchlaufen lasse funktioniert es nach dem zweiten Kanal nicht mehr und das beim ersten durchlaufen der Schleife. zum besseren Verständnis meines Problems hänge ich den Quellcode noch mit an. Vielen lieben Dank im Voraus Deniz
Hi, ohne den Code im Einzelnen durchgedacht zu haben, Du hast keine while(1) in Deinem Programm, so dass Dir der Controller einfach nur durch den Speicher durchläuft und Dir das Programm nicht das tut, was es soll. Wie gesagt, ob es grundsätzlich funktioniert kann ich nicht einschätzen... Viele Grüße
das hatte ich davor schon mit der while schleife geschrieben gehabt, und for(;;) ist gleichbedeutend mit while(1) soweit ich das verstanden habe und leider nicht die Lösung meines Problems, leider.
Hallo Deniz, ich kenn mich zwar mit deinem MSP nicht so gut aus, aber mir ist aufgefallen, dass du nur die allgemeine Interruptfreigabe machst. Solltest du nicht noch den ADU Interrupt freigeben? Gibt es vielleicht noch irgendwelche Interruptflags, die Du löschen solltest? Was macht das Programm denn genau? Gruß MSP430_Crew
der Interrupt für die AD-Wandlung erfolgt in SD16CCTL0 |= SD16IE + SD16SNGL; wobei SD16IE das interrupt freigabe bit ist ich habe jetzt allerdings in anderen beispielen von TI ein paar switch case anweisungen abgekupfert und die variablen mit schlüsselwörtern (z.B. volatile static...) versehen um so einer wegoptiemierung des MSP´s vorzubeugen. Ob das mit dem wegoptimieren würklich stimmt und wenn ja, warum das so geschiet, weiß ich leider nicht aber das gute daran ist das es funktioniert Würde mich freuen, wenn sich das mit dem wegoptimieren noch klären würde. soviel sei allerdings gesagt, es funktioniert jetzt ;-) Gruß Deniz
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.