- Labornetzteil AliExpress         
Ergebnis 1 bis 6 von 6

Thema: ADC(Analog Digital Converter) in C auslesen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2004
    Beiträge
    122

    ADC(Analog Digital Converter) in C auslesen

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi, wie ich hier schon öfter gelesen habe gibt es in Basic die möglichkeit die ADC-Ports, für z.B. eine Spannungsmessung mit getadc(x) oder sowas in der Richtung auszulesen, wie geht denn das in C?

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2004
    Beiträge
    122

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2004
    Beiträge
    122
    Ich brächte doch nocht etwas Hilfe dazu. Z.B. muss laut text zum einschalten des ADC Bit 7 von Port C (ADEN) gesetzt werden, allerdings gibt es bei meiner Bauform (DIL) kein Bit 7, sondern lediglich 0 bis 5. Wo ist bei mir dieses Bit?

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    67
    Beiträge
    531
    Hallo,
    zum einschalten des ADC Bit 7 von Port C (ADEN) gesetzt werden
    Z.B. Beim Atmega16 ist ADEN bit 7 vom ADCSRA register und ist nicht teil vom Port C. Vielleicht ist hier ein irrtum?

    gruss

    Henk

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2004
    Beiträge
    122
    Hmm...
    mal was anderes...
    was genau macht das im C Quelltext?
    (1<<ADEN)

    oder das

    |=

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    67
    Beiträge
    531
    Hallo,

    ADEN ist gleich wie decimal 7 (dass komt von bit 7)

    (1<<ADEN) ist gleich wie (1<<7), heisst schieb die 1 ('eins' oder (hex) 0x01, oder (binair) '0000 0001') 7 mahl nach links.
    daraus komt: (binair) '1000 0000' oder (hex 0x80) oder (decimal) 128

    ander beispiel:
    (1<<0) = '0000 0001'
    (1<<3) = '0000 1000'
    (2<<1) = '0000 0100'
    (3<<1) = '0000 0110'

    '|=' ist gleich wie 'ist oder'

    a |= 4 ist gleich wie a = a | 4 ist gleich wie a = a oder 4

    z.B. wenn a = 2 denn a|=4 ist gleich wie a=2 oder 4

    0000 0010 = 2
    0000 0100 = 4
    ------------ oder
    0000 0110 = 6

    a|=4 ist gleich wie 6


    gruss

    Henk

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test