Hallo zusammen bin am verzweifeln, ich will ja nur den ADC ansprechen, aber an PORTC (dient zur Anzeige) tut sich nichts, ausser das alle leds an den PortC leuchten (high pegel an PortC) Wer kann mir helfen, Vielen Dank Peter
Sorry das wichtigste Vergessen,
.org 0x0000
 rjmp main ; Reset Handler
  .org INT0addr
 reti ; EXT_INT0 ; IRQ0 Handler
  .org INT1addr
 reti ;EXT_INT1 ; IRQ1 Handler
 .org INT2addr
 reti ;EXT_INT2 ; IRQ2 Handler
  .org OC2addr
 reti ;TIM2_COMP ; Timer2 Compare Handler
 .org OVF2addr
 reti ;TIM2_OVF ; Timer2 Overflow Handler
  .org ICP1addr
 reti ;TIM1_CAPT ; Timer1 Capture Handler
  .org OC1Aaddr
 reti ;TIM1_COMPA ; Timer1 CompareA Handler
  .org OC1Baddr
 reti ;TIM1_COMPB ; Timer1 CompareB Handler
 .org OVF1addr
 reti ;TIM1_OVF ; Timer1 Overflow Handler
  .org OC0addr
 reti ;TIM0_COMP ; Timer0 Compare Handler
  .org OVF0addr
 reti ;TIM0_OVF ; Timer0 Overflow Handler
  .org SPIaddr
 reti ;SPI_STC ; SPI Transfer Complete Handler
  .org URXCaddr
 reti ;USART_RXC ; USART RX Complete Handler
  .org UDREaddr
 reti ;USART_UDRE ; UDR Empty Handler
  .org UTXCaddr
 reti ;USART_TXC ; USART TX Complete Handler
  .org ADCCaddr
 rjmp ADC ; ADC Conversion Complete Handler
  .org ERDYaddr
 reti ;EE_RDY ; EEPROM Ready Handler
  .org ACIaddr
 reti ;ANA_COMP ; Analog Comparator Handler
  .org TWSIaddr
 reti ;TWI ; Two-wire Serial Interface Handler
  .org SPMRaddr
 reti ;SPM_RDY ; Store Program Memory Ready Handler
main:
    ;Initialisierung des Stack Pointers ->notwendig bei Interrupt
Sprüngen
       ldi   stack,LOW(RAMEND);Initiate Stackpointer
       out   SPL,stack ; wegen Interrupts und Unterprogr.
       ldi   stack,HIGH(RAMEND)
       out   SPH,stack
       ;Stackpointerinitialisierung ende
    ldi mp,0xff
    out DDRC,mp
    ldi mp,0x00
    out DDRA,mp
    ldi mp,0b00100011
    out ADMUX, mp
    ldi mp,0b11101101
    out ADCSR, mp
    sei
loop:     rjmp loop
ADC:     in ll,ADCH
    out PORTC,ll
    reti
  hab jetzt noch versucht statt des High byte das low byte (ADCL) auszugeben und tatsächlich er gibt die ersten beiden bits an der Anzeige wieder. D.h die gesamten 10 bit sind mit 1 belegt. Ich bin doch im Free running mode warum nimmt er keinen neuen Wert an und aktualisiert somit den vorhandenen Wert? Vielen Dank Peter
Hab jetzt den Fehler wahrscheinlich gefunden den ich habe bit 7 und bit 6 von ADMUX auf 0 gesetzt. Bei Änderung auf den Wert 11 (bit,bit6) gibt er mir Werte zurück Allerdings verstehe ich nicht genau die Bedeutung von Vref Ich habe noch den entsprechenden Auszug aus der Spec hinzugefügt Ich habe jetzt eine Referenzspannung von 2.7V ? Was heißt das? Warum ging es nicht wenn sich abgeschalten war? Fragen über Fragen, Danke schon mal im Voraus Peter  Bit 7:6  REFS1:0: Reference Selection Bits These bits select the voltage reference for the ADC, as shown in Table 83. If these bits are changed during a conversion, the change will not go in effect until this conversion is complete (ADIF in ADCSRA is set). The internal voltage reference options may not be used if an external reference voltage is being applied to the AREF pin. Table 83. Voltage Reference Selections for ADC REFS1 REFS0 Voltage Reference Selection 0 0 AREF, Internal Vref turned off 0 1 AVCC with external capacitor at AREF pin 1 0 Reserved 1 1 Internal 2.56V Voltage Reference with external capacitor at AREF pin
Hallo Peter ;) aref ist die Referrenzspannung am PIN32 (AREF) z.B. 5V. Darüber gibst du an bei welcher Analogspannung der ADC "Vollausschlag" hat. z.B. 5V --> 0b1111111111 Gruß -=jens=-
Hallo Jens, bei mir ist an AREF (Pin29 bei ATmega32,tqfp) ein Elko mit 4,7uF und an AVCC Pin (Pin 27) ein komplexer Spannungsteiler bestehend aus einem ohmschen Widerstand von 1kOhm und einem Elko von 4,7uF. Was bedeutet das für meine Referenzspannung. Was haben diese Eingänge für eine Aufgabe in meiner Beschaltung? Hab schon im Datenblatt nachgesehen werd daraus aber nicht schlau... Peter
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.