Hallo, ich habe mit vor kurzem bei R. einige tiny15 bestellt. Nun habe ich versucht das Ding mit Bascom zu programmieren. Das prog lässt sich Kompilieren und fehlerfrei flashen - es läuft aber nicht! das Testprog ist eigentlich ganz simpel und läuft auch aufm 8535: do set portb.0 wait 1 reset portb.0 wait 1 set portb.1 wait 1 reset portb.1 wait 1 loop Warum gehts nicht??? Ich denke es liegt an Bascom. Kann mir jemand helfen??
beim Tiny15 sind ein paar Sachen bezügl. Fuses-Einstellung zu beachten. Insbesondere die Oszillatorwahl und entsprechende Beschaltung sowie die Behandlung des Resetpins müssen auf Deinen Aufbau passen. Hast Du das schön artig beachtet?
ausserdem musst du portb als ausgang konfigurieren und dem programm die oszillator-frequenz mitteilen, damit der waitbefehl richtig ausgeführt werden kann. $crystal = xxxxxxxxxx Config Portb = Output . . .
... und der Befehl " $Tiny " nicht vergessen. $Regfile="at15.def.dat" $Tiny ddrb=255:Portb=255 . . .
Hallo Les mal im BASCOM-Forum (bei Yahoo) nach, da läuft z.Zt. eine Disskussion zu diesem Thema Günter
Danke für die vielen Antworten. Ich habe in dem Originalprog natürlich den Quarz angegeben und Portb configuriert, aber mein tiny führt es nicht aus - werd es jetzt mal mit AVR-Studio probieren. Kann irgendwer vielleicht ein kleines ASM Beispielprog mal hier reinstellen, wo raus hervorgeht, wie man einzelne Pins setzt und rücksetzt? Hab mich zwar in der Hochschule mit asm Programmierung rumschlagen müssen, aber da haben wir x86 programmiert und das ist schon eine ganze Weile her (man wird alt ;) )
Ich hab dasselbe Problem. Ihr habt zwar Nette Antoworten, worauf ich achten muss. Aber wie, das schreibt ihr leider nicht. WAS muss ich bei den Fusebits einstellen??? WAS muss ich beim Resetpin beachten?? WAS muss ich bei der Oszillatorfrequenz beachten?? Der hat doch eh selbst 1,6MHz, habs in Bascom auch angegeben. Auch den $tiny befehl habbich geschrieben. config Portb.x =output auch wenn ich nen Port setze, gehts auch aber danach WAIT 1 z.B. machter gaanich. Gut, der hat angeblich keinen RAM, weiss nich wien CPU ohne RAM klarkommen kann, bin ja kein ing. Aber hab gelesen der Tiny15 soll auch RC5 geschichten hinbekommen...... Ob DAS bei mir jemals läuft.....
Also folgendes: Ich habs lange mit Bascon versucht: Tinys ohne RAM lassen sich nicht mit BASCOM proggen. Warum es nicht geht weiß ich auch nicht, aber ich habe mir bei www.atmel.com das AVR-Studio runtergeladen und alles mit ASM programmiert, und es läuft bestens. Also: einen Kumpel haben, der einem ASM erklärt, Automatisierungstechnik studieren oder Buch lesen (keine Angst ASM ist gar nicht so schwer wie es aussieht) Bei den Fusebits brauchst du garnix einstellen und den Resetpin musst du mit einem Widerstand auf 5V ziehen (Anschluss eines 8535 auf dem Schaltplan für das AVR Board auf www.mikrocontroller.com )
Was habt ihr denn nur immer mit den Fuses??? Die sind doch das Letzte, woran man sich vergreift! Das macht man doch erst, wenn man sicher und souverän mit dem Teil umgeht. Gab es hier nicht schon genug Fälle, wo per Fuses ISP (oder Reset) deaktiviert wurde, ehe das erste Programm richtig lief? Der Tiny12/Tiny15 läuft so, wie er ausgeliefert wird! Wenn man den internen Oszillator nicht kalibriert, dann läuft er eben langsamer, so um die 1MHz. Dann reichts zwar nicht für eine Stopuhr, funzt aber zum Spielen mit Ports, Timern, INTs, ADCs und was es sonst noch alles gibt. Also: AVR-Studio an, ASM-Programm schreiben, BUILDen, Doppelklick auf die (roten) Fehlermeldungen im Output-Fenster, Hilfe befragen (F1), "Aha" sagen oder konkrete Frage hier stellen.... Irgendwann werden die Fehlermeldungen immer weniger, dann hilft Debuggen (Simulation) weiter und erst dann gehört das Programm ins FLASH des AVR. Wenn das alles sicher klappt, dann mal um die Kalibration des RC-Oscillators kümmern und diese ins Programm einbauen. Und dazu ist immer noch keine Manipulation der Fuses erforderlich! Die ersten ASM-Schritte findet man in den Tutorials hier oder bei den AVR-Freaks. MfG, Heinz
Allaska, Gut, ASM ist noch son fremdes Ding, aber ma schaun, sollte ich mir mal angucken. Das mit den Fueses dachte ich mir so. Und das mit dem kalibrieren, naja. Son paar eher wohl Paar (haha) Befehle gehen mit bascom ja. Aber damit kann man ja wohl NIX anfangen. Und wie man den Kalibiert, keine Ahnung, egal. DANKESCHÖN, das hat geholfen. Gruß, Carsten
Das mit dem Kalibrieren riss ich an, um zu zeigen, dass es beim Tiny12 und Tiny15 wichtigere Dinge als die Fuses gibt. Und ohne Kalibration läuft das Ding halt keine 1,2 bzw. 1,6MHz sondern eben ungefähr 1MHz (Herstellungstoleranzen). Aber es läuft!!! Assembler dürfte eigentlich leichter sein als BASIC, denn der gesamte Befehlssatz und I/O-Bereich ist im Datenblatt verständlich aufgelistet. BASIC mag nicht schlecht sein, aber erst, wenn man etwas ASM kennen gelernt hat, denn mit BASIC allein (also ohne jegliche ASM-Kenntnisse) bekommt man den Überblick über die Architektur des AVRs (und damit über seine Möglichkeiten und Grenzen) kaum. MfG, Heinz
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.