mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATTiny84 -> Wie unter BASCOM die Referenzauswählen?


Autor: Constructor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Bin gerade am verzweifeln, unter Bascom kann ich beim ATTiny84 keine 
Referenz für den A/D-Wandler festlegen:


Config Adc = Single , Prescaler = Auto  -> Alles O.K. (aber welche 
Referenz wird nun verwendet??)

...setze ich nun Referenz = Off oder = Avcc oder 5.0 oder = internal

meldet der Compiler ständig einen Fehler. Wobei beim 84er nur intern 
1,1V bzw AVCcc möglich ist (lt. Datasheet)

..eigentlich wollte ich AVcc als Referenz verwenden.

Weiß jemand vielleicht wie ich das anstelle, bzw. wie die interne und 
wie externme Referenz festgelegt wird?

Ich bin am verzweifeln, bei den ATMega's ist das bisher alles kein 
Problem gewesen......

Vielen Dank und Gruß aus Berlin,
Marco

Autor: Constructor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...hat wirklich niemand eine Idee?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>...hat wirklich niemand eine Idee?

Doch, ich.

In den 5 Stunden, die Du jetzt gewartest hast, hättest Du das 
Dattenblatt 3 mal durchgelesen !

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das zu Fehlern in Bascom führt, hast Du vielleicht noch eine alte 
Version, die den Tiny 84 nicht kennt?

In der Not mußt Du die Register für den AD-Wandler "von Hand setzen".
Im Register ADMUX sind die beiden Bits REFS.0 und REFS.1 verantwortlich,
welche Referenzspannung das Ding nimmt.

Du kannst zum Beispiel statt "Config ADC......"
eingeben:
ADCSRA=&Bxxxxxxx
ADMUX=&Bxxxxxxxx
Wobei das x für die Werte 0 oder 1 steht. Im Datenblatt siehst Du, 
welches Bit in dem Register für was zuständig ist. Das stimmt sogar 
meist.

MfG Paul

Autor: John Small (linux_80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

welches Bascom hätten wir da ?
Ich hab schon herausgefunden, daß wenn man nichts angibt, die Referenz 
auch nicht geändert wird, also den Wert 0 behält, was in diesem Fall Vcc 
ist.
AVcc hat der kleine ja nicht.
Referenz schreibt man im engl. so:
... , Reference = Internal  !
dann klappts auch mit dem compiler ;-)

Die möglichen Werte stehen in der Hilfe.


Beim Compilieren bekomme ich aber auch einen Fehler angezeigt, das Hex 
wird aber erzeugt.
Der will das WDTCR Register (heisst hier aber WDTCSR), warum weiss ich 
nicht, mit Watchdog hab ich nix getan, nur diese Config-ADC-Zeile !
Ich hätt's mit 1.11.9.1 probiert.

Autor: Constructor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sebastian (Gast)
Selbstverständlich lese ich das Datasheet ständig, ohne geht gar 
nix....ist es wirklich notwendig das in diesem Forum immer dieser 
(eigentlich nicht dämliche, hier jetzt aber schon...) Tip gegeben 
wird???

@ Paul Baumann (Gast)
Vielen Dank für den Hinweis, ich habe das bisher nicht getestet, weil 
ich bisher noch keinen ATTiny84 zur Hand hatte um per Hardware zu testen 
(...das war jetzt die Ausrede, in Wahrheit war ich zu faul und habe 
lieber 2h herumgerätselt als mal 5 Min. für die Register aufzuwenden. 
Dieser Weg war dann der nächste und es gab keinen Fehler beim 
compilieren. Aber was da bei Bascom schief läuft interessiert mich 
schon.....

@ iny 80 (linux_80)
Ich habe die Version 1.11.9.1 vorgestern wieder runter geschmissen weil 
ich bei mehreren Programmen bereits in der ersten Zeile beim compilieren 
eine Fehlermeldung erhalte, allerdings steht da nur eine 
Kommentarzeile.....
Jetzt arbeite ich wieder mit 1.11.9.0, die unterstützt aber auch den 
Tiny84.
Vorhin habe ich endlich meine Tinys von Reichelt erhalten und schnell 
ein Testboard aufgebaut und siehe da, wenn die Referen(ce)z weggelassen 
wird (im Code) nimmt er Vcc (was ich eigentlich auch meinte als ich 
"AVcc" schrieb (war 'n Freud'scher Vertipper....) Wie kommst Du 
eigentlich datauf wenn es mit dem AD nicht funkt den Watchdog zu setzen 
und dann geht's? Oder habe ich da jetzt was falsch verstanden?

Wenn ich die Register von Hand setze, kann ich auch die interne Ref mit 
1,1V verwenden.

1000 Dank an (fast) alle für die freundliche Unterstützung!

Autor: John Small (linux_80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Watchdog habe ich nix gemacht, es kommt aber trotzdem eine 
Fehlermeldung beim compilieren zu dem Register !

Mit dem Config-ADC-Befehl kann man alle (drei) Möglichkeiten an 
Referenzen für den Tiny angeben, man muss die Register nicht unbedingt 
von Hand beschreiben.

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.