www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD Wandlung interrupt


Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe eine generelle Frage.
ich habe zb eine c zeile die lautet:

void isr_AD(void) interrupt 0x28
{
cc23 = (ADDAT & 0x03C0) << 6;
}

wie bestimme ich den wert = 0x03C0.
Nach welche Kriterien bestimme ich diesn Wert.

Gruß

Hans

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>wie bestimme ich den wert = 0x03C0.
>Nach welche Kriterien bestimme ich diesn Wert.

$3C0 = 0b1111000000

Das bedeutet, das nur die oberen 4 Bit des Ergebnisses verwendet werden. 
Bei mehr Bits:

0b1111100000 = $3E0
0b1111110000 = $3F0
0b1111111000 = $3F8
0b1111111100 = $3FC
0b1111111110 = $3FE

MfG Spess

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also was die zahl in hex und bin ist des ist mir klar.
Mir stellt sich die Frage warum ich 0x03C0 verwende
und dann noch nach links 6 mal verschiebe.
Das ist mein problem. Woher weis ich dass ich die 0x03C0
verwenden muss.

MfG

Hans

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Woher weis ich dass ich die 0x03C0 verwenden muss.

Müssen ist relativ und ohne Speck kann man nur raten. Ich vermute mal 
dass der (unbenannte) ADC eine Auflösung von 10 Bit hat und der 
Programmierer obigen Kunstwerks eine Auflösung von 4Bit will - im 
viertniedrigsten Nibbel der (undeklarierten) Zielvariable.

HTH

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Mir stellt sich die Frage warum ich 0x03C0 verwende

Die Frage solltest du beantworten können (wenn es dein Code ist).

>und dann noch nach links 6 mal verschiebe.
>Das ist mein problem. Woher weis ich dass ich die 0x03C0
>verwenden muss.

Das ADC-Ergebnis deines unbekannten Controllers ist offensichtlich 
12-Bittig.

Mit ADC & $3C0 bleiben nur die oberen 4 Bit übrig.

<< 6 schiebt die 4 Bit um 6 Stellen nach links. Damit wären sie die 
oberen 4 Stellen eines Bytes.

Wie ist cc23 deklariert?

MfG Spess

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Das ADC-Ergebnis deines unbekannten Controllers ist offensichtlich
>12-Bittig.

Natürlich 10 Bittig.

MfG Spess

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.