hallo Zusammen, kann jemand mir sagen was ich hier falsch mache. der ADC bleibt in testIFG hängen. #include "msp430x26x.h" ;----------------------------------------------------------------------- -------- RSEG CSTACK ; Define stack segment ;----------------------------------------------------------------------- -------- RSEG CODE ; Assemble to Flash memory ;----------------------------------------------------------------------- -------- RESET mov.w #SFE(CSTACK),SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop watchdog bis.b #40h,&P6SEL ; Enable A/D channel A6 ; SetupADC12 mov.w #REFON+REF2_5V+ADC12ON+SHT0_2,&ADC12CTL0 ; turn on 2.5V ref, set samp time mov.w #SHP,&ADC12CTL1 ; Use sampling timer mov.b #SREF_1,&ADC12MCTL6 ; Vr+=Vref+ ; mov.w #03600h,R15 ; Delay for needed ref start-up. L$1 dec.w R15 ; See datasheet for details. jnz L$1 ; ; bis.w #ENC,&ADC12CTL0 ; Enable conversions ; Mainloop bis.w #ADC12SC,&ADC12CTL0 ; Start conversions testIFG bit.w #40h,&ADC12IFG ; Conversion done? jz testIFG ; No, test again mov.w &ADC12MEM6, R5 ; Move result jmp Mainloop ; SET BREAKPOINT HERE ; ;----------------------------------------------------------------------- -------- COMMON INTVEC ; Interrupt Vectors ;----------------------------------------------------------------------- -------- ORG RESET_VECTOR ; POR, ext. Reset DW RESET END
Du hättest uns verraten können, welchen Chip du benutzt, welches Beispielprogramm du kopiert hast, und welche Änderungen du daran vorgenommen hast. Das Problem ist, dass ADC-Eingänge und ADC-Ergebnis-Register unabhängig sind. Du kannst weiterhin ADC12MEM0 benutzen, musst aber die INCHx-Bits korrekt setzen. Siehe Abschnitte 23.2.5 und 23.3.4 des User's Guide.
Hallo, vielen Dank für deine Antwort Clemens. ich habe alle stellen wo A0 gefragt wird umgeändert auf A6 #01h,&P6SEL <-> #40h,&P6SEL mov.b #SREF_1,&ADC12MCTL6 <->mov.b #SREF_1,&ADC12MCTL0 bit.w #01h,&ADC12IFG <-> bit.w #40h,&ADC12IFG mov.w &ADC12MEM0, R5 <-> mov.w &ADC12MEM6, R5 der Beispiel war von MSP430x261x Demo - ADC12, von B. Nisarga Ship ist MSP430F24x Gruß
Hallo ich habe es vergessen zusagen, INCH_x habe ich den wert 6 gegeben. gruß
eva schrieb: > INCH_x habe ich den wert 6 gegeben. Nicht in dem Code, den du uns gezeigt hast. Und wenn du darauf bestehst, ADC12MEM6 zu benutzen, musst du mindestens noch CSTARTADDx setzen.
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.