Arbeite zum ersten Mal mit dem ADC12 des MSP430F449. Der Wandler wird im single-channel, single conversion Mode eingesetzt. Wenn der Timer A etwa 4x pro Sekunde den IRQ aufruft, wird dort eine steigende Flanke am Bit ADC12SC erzeugt und dann sofort das ADC12MEM0 gelesen. Da dabei der Wandler noch nicht fertig ist, werden alte Meßergebnisse ausgewertet. Jedoch zeigt sich, daß die Wandlung auch wirklich immer neu beginnt weil schwankende Analogspannungen reproduzierbare Digitalwerte erzeugen. Jetzt habe ich zwischen die ADC12SC Flanke und das Lesen vom ADC12MEM0 eine Schleife gebaut: WaitADC12 bit.w #0001h, &ADC12CTL1 JNZ WaitADC12 Der Controller bleibt jetzt endlos in dieser Schleife stehen. Warum setzt sich das Busy Flag nicht zurück?
Bei den Beispielen wird statt dem IRQ Flag das ADC12IFG (Daten wurden in den ADC Speicher geschrieben) ausgewertet. Warum geht es nicht auch über das Busy Bit?
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.