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


von Constructor (Gast)


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

von Constructor (Gast)


Lesenswert?

...hat wirklich niemand eine Idee?

von Sebastian (Gast)


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 !

von Paul Baumann (Gast)


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

von John S. (linux_80)


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:
1
... , 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.

von Constructor (Gast)


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!

von John S. (linux_80)


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.

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
Noch kein Account? Hier anmelden.