Als Erstes ein freundliches 'Hallo' ! Denn dies ist mein erstes Post hier. Gelesen habe ich schon unzählige Male und mir immer wieder Tips usw. geholt. Danke! Ich hab' schon einige Kleinigkeiten mit AVRs (Bascom) realisiert. Mit Meßwertaufnahme- und verarbeitung klappt's schon recht gut. Mit Timer / Uhr hab' ich noch wenig bis keine Erfahrung. Nun zur Frage : Ich möchte ein etwas komplexeres Ding bauen, einen Meßwertelogger (2 x analog, 4 x digital). - 1284P - Grafikdisplay 128 x 64 zum Anzeigen der Kurve(n) - Textdisplay 20 x 2 zum Anzeigen von Meßwerten plus Einstellungsmenu - Micro-SD zum Speichern der Daten Nun hakt's schon am Beginn ... Bascom schimpft ".. not supported for the selected micro .." Wenn ich das "m1284pdef.dat" auskommentiere und $regfile = "m103def.dat" aktiviere ging's ?!?! Der 1284P sollte "Config Clock = Soft" ja ebenso können, der hat ja denselben asynchron Timer(2) (Uhrenquartz an TOSC1 und TOSC2). Nach Stunden 'Datenblatt', 'Google', 'Foren', ... Wo liegt mein Fehler ? ============================== ' Datenplotter ' mit Speicher auf MicroSD-Karte ' ============================== ' $regfile = "m1284pdef.dat" ' $regfile = "m103def.dat" $crystal = 8000000 $hwstack = 100 $swstack = 100 $framesize = 100 ' Uhr konfigurieren Config Date = Dmy , Separator = . Config Clock = Soft , Gosub = Sectic Dim Puls As Bit Dim I As Byte Do If Puls = 1 Then PORTB.1 = 0 Else PORTB.1 = 1 End if ' Weiterer Programmablauf (derzeit nix) Loop Sectic: Toggle Puls Return
Hi >Wenn ich das "m1284pdef.dat" auskommentiere und $regfile = "m103def.dat" >aktiviere ging's ?!?! Das sind aber zwei komplett verschieden Controller. Der ATMega103 ist der älteste ATMega und noch nicht einmal einen Hardwaremultiplizierer. Außerdem ist beim ATMega103 PortC nur Ausgang und PortF nur Analogeingang. Wenn BASCOM das weiß, hast du nicht nur ein Problem Problem. Vielleicht hilft ein Update. Oder nimm einen ATMega644p (falls BASCON den kennt). MfG Spess
Hi ! Den 103-er verwende ich ja nicht, sondern eben den 1284P. Das "m103def.dat" verwendete ich nur zum Probieren. Was kann DER (103), was ich nicht kann (1284P)? - ;-) Grüße
> Was kann DER (103), was ich nicht kann (1284P)? - ;-)
Falsche Frage.
Richtige Frage: Wird das auch von BASCOM unterstützt.
Zur Not kann man auch in Bascom immer noch direkt an die
Konfigurationsregister ran und die Bits selber setzen.
Hi
>Was kann DER (103), was ich nicht kann (1284P)? - ;-)
Es ist eher umgedreht. Irgendwie scheuen die BASCOM-Jünger Datenblätter
wie der Teufel das Weihwasser.
MfG Spess
Danke für die umfangreiche Hilfe ! Wie ich oben schrieb : ".. Stundenlang ..."
Hi
>Wie ich oben schrieb :
".. Stundenlang ..."
Und da hast du auch gemerkt, das zB. die Registeradressen von PortB beim
ATMega103 auf anderen Adressen liegen wie beim ATMega1284P?
MfG Spess
spess53 schrieb: > Es ist eher umgedreht. Irgendwie scheuen die BASCOM-Jünger Datenblätter > wie der Teufel das Weihwasser. Ich nicht! ;) @TO: Der Mega103 (Gammel-Teil) ist von der Hardware her völlig anders aufgebaut, als der Mega1284P (Neu). Der Mega1284P hat völlig andere Register, andere Hardware-Einheiten usw. als der Mega103. Das ist so, als wenn Du einen alten Z80 mit einem Intel Pentium vergleichst und dich dann fragst: "Wieso kann der Z80 nur ein paar Megahertz, der Pentium kann doch auch über 2GHz!". Außerdem würde ich für einen Sekundentakt den Timer2 im asynchronen Modus benutzen, und nicht "Config Clock ...". Benutze doch "Config Timer2 = ..." und bringe den Timer in den asynchronen Modus (Uhrenquarz nicht vergessen). Dann hast Du einen ziemlich genauen Sekundentakt. Außerdem solltest Du dir mal das Datenblatt vom Mega1284P anschauen ;)! Die Register Description zu den einzelnen Hardware-Einheiten reicht meistens völlig, um die Hardware in Gang zu bringen. Gruß Jonathan
Hi Nur zur Information: Bei MCS ist der ATMega1284P in der Liste der unterstützten Chips. MfG Spess
Ist das die Vollversion von BASCOM? Die Demo-Version ist oftmals veraltet und verhält sich anders. Die Vollversion sollte man gelegentlich auf den neuesten Stand bringen. Die "Clock = Soft" kann man als Sekundenzähler nehmen; eleganter ist ein Timer. Da so ein Datenlogger oftmals Datum und Zeit mit abspeichern soll, ist "Clock = Soft" schon ok.
Wolfgang Müller schrieb: > Entschuldigt bitte meine Frage !! Nee, nee, es ist doch in Ordnung, wenn Du fragst! Brauchst dich doch nicht dafür zu schämen ;) Jeder hat mal angefangen. Was meinst Du, mit was für "dämlichen" Fragen ich hier vor einem Jahr angekommen bin :) Also benutze doch einfach "Config Timer2 = Timer, Prescaler = xx, Async = On" mit dem entsprechenden Interrupt. Dann wird's wohl funktionieren. Gruß Jonathan
Jonathan Strobl schrieb: > benutze doch einfach "Config Timer2 = Timer, Also ich wollt's mir halt einfach machen. Mit "Clock = Soft" spart man sich einen ganzen Rattenschwanz an Code bzw. 'configs' bzw. Deklarationen. In "C" wär's ja auch recht unklug, auf "printf" zu verzichten und alles was da im Hintergrund an Formatierung und Arithmetik automatisch abläuft, selbst zu programmieren.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.