Gast
#91317
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?