- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: ADC_Kanäle 8-15 des ATMega2560 mit GETADC

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    27.02.2008
    Ort
    Weil der Stadt
    Alter
    30
    Beiträge
    50

    ADC_Kanäle 8-15 des ATMega2560 mit GETADC

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    ich möchte alle ADC-Kanäle des Mega2560 nutzen. Dazu benutze ich GETADC(Channel). Von 0-7 funktioniert es wunderbar wenn man einfach den gewünschnten Kanal in die Klammer schreibt, für 8-15 geht das dann nicht mehr.

    Dazu gibt es eine Hilfe von Bascom: http://avrhelp.mcselec.com/index.html?getadc.htm

    Diese meint die Kanäle 8-15 müssten folgendermaßen abgefragt werden: für Kanal 8 z.B. GETADC(0,64). Das funktioniert aber bei mir nicht. Deshalb hab ich mich im Datenblatt mal schlau gemacht und herausgefunden, dass für Singled Ended Input von Kanal 8-15, 100xxx geschrieben werden müsste. Dabei ist Offset aber 32 und nicht 64. Daraufhin gab ich GETADC(32) ein und tatsächlich ich konnte die Werte auslesen.

    Ist das also der richtige Weg und irrt die Bascomhilfe? Hat jemand anderes schon diese Erfahrung gemacht?

    Viele Grüße
    Cornelius

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.07.2008
    Ort
    Villingen-Schwenningen
    Beiträge
    143
    Hallo,
    ich weis dass der Thread Ur-Alt ist.
    Warum ich schreibe ist, dass ich mit der aktuellsten Version von Bascom AVR 2.0.7.8 noch immer dieses Problem habe.
    Lt. Bascomhilfe müßte für den Mega2560 und auch Mega1280 der ADC-Kanal 8 mit ADCWert=GetADC(0,32) ausgelesen werden. Die 32 ist der Offset, um den korrekten Kanal anzusprechen (Datenblatt vom ATMega2560).
    Nun schreiben wir das Jahr 2015 und das Problem ist offensichtlich noch immer nicht behoben.

    In der Bascomhilfe ist zwar der Fehler mit dem Offset von fälschlicherweise 64 auf den richtigen Wert 32 korrigiert.
    Leider wird durch den obigen Befehl das MUX-Bit 5 in ADCSRB (ADCSRB.3) nicht gesetzt.

    Wie Norell schreibt muss man den ADC Kanal 8 mit ADCWert=GetADC(32), den Kanal 9 mit GetADC(33) usw. auslesen.
    Hier stimmt also seit 2008 bis dato (2015) die Bascomhilfe nicht!

    Schade, dass Mark das Basom immer um neue Funktionen erweitert und bestehende Fehler nicht oder sehr unzufriedenstellend behebt.
    Das Programm BascomAVR könnte so geil sein, wenn er nur wollte.

    Wenn irgendjemand ihm den Rang mit Basic-Programmierung abläuft, ist er selbst daran schuld.

    Soviel zu meinem Statement.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Dann schreib an den Support und nörgel nicht hier herum!

    Edit:
    Auszug aus der aktuellen Help:

    Without the offset, you need to provide the proper value for the channel.
    So GetADC(0,32) would become : GetADC(32)
    And GetADC(1,32) would become : GetADC(33)

    Also wo liegt Dein Problem?

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.07.2008
    Ort
    Villingen-Schwenningen
    Beiträge
    143
    Ich nörgel nicht. Ich stelle fest.
    Und GetADC(0,32) funktioniert nicht, während GetADC(32) funktioniert.
    Entweder stimmt die Hilfe nicht oder es liegt ein Bug vor.

    Den Support kenne ich schon zu genüge. Aber ich will auch mal programmieren und nicht nur Fehler an den Mark durchgeben.
    Das sollte hier nur als Hilfe fungieren.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Mein Edit hast Du gelesen?

    Ich durchschau Dein Problem nicht!

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.07.2008
    Ort
    Villingen-Schwenningen
    Beiträge
    143
    Genau solche diskussionen habe ich mir mark auch.
    Manchmal frage ich mich, ob nur ich den Fehler habe und die anderen bascom-Nutzer nicht?

    Lass gut sein.

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad