Hallo allerseits, ich habe folgendes Problem: Mit einem MSP430F2274 wird eine ADC10-Messung von der Spannung am Versorgungskondensator (über Spannungsteiler) durchgeführt. Der Registerinhalt ADCMEM beträgt 730. Wird im Code aber zuvor die Initialisierung des Timer_B eingefügt, ist das Ergebnis der anschließenden ADC10-Messung nicht mehr 730 sondern 750. Hat jemand eine Idee? Viele Grüße
Christian R. schrieb: > Zeile 42 deines Codes Hi Christian, klaro gibts den Code. Zusätzlich zu dem oben erwähnten "Fehler" habe ich einen noch schwerwiegenderen entdeckt. Wenn der ADC10 initialisiert wird funktioniert anscheinend der TimerB nicht mehr zuverlässig. Wird die ADC10 nicht initialisiert funktioniert dieser. Grüße
Christian R. schrieb: > Hm, das kann eigentlich nur an Zeile 42 deines Codes liegen. ... in Zeile 28 scheint's aber auch schon zu haken ;-)
Franzen schrieb: > Mal ins Erratasheet geguckt? Das habe ich gemacht. Das am ehesten zutreffende Workaround für Fehler TB2 (Interrupt is lost) hat leider nicht geholfen. Den Link zum Erratasheet konnte ich leider wegen Spam-Sperre nicht verlinken. slaz034k.pdf
Ich tippe mal darauf, dass die Interrupt Service Routinen zu lange brauchen, und die ganze Sache deshalb aus dem Tritt kommt. Toggle doch mal einen IO am Start und Ende einer ISR, dann siehst du wie lange die brauchen...das Schreiben aufs Display braucht sicherlich einige Zeit, sowas macht man nicht in der ISR...
Christian R. schrieb: > das Schreiben aufs Display Du meinst bestimmt die Funktion disp_put_event(). Die trägt ein abzuarbeitendes Event nur in eine Liste ein und dürfte d.h. nicht lange dauern. Ich werde es trotzdem überprüfen.
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.