Forum: Mikrocontroller und Digitale Elektronik mein Bascom, sehr merkwürdig!


von Rolf H. (flash01)


Lesenswert?

vielleicht kann mir jemand einen Tip geben!

Geb ich zu Beginn unter "$regfile = "m8def oder m88def oder attiny2313.
dat" ein ist die Welt in Ordnung, d.h. kein Error!
Gebe ich attiny13 oder 24 oder 84 oder 461 ein kommt Error!
Habe schon gesucht unter Option/Compiler/Chip in allen Ecken.
Habe den Verdacht, daß es mit den Einstellungen im Menü Programmer
zusammenhängt.

Error sieht wie folgt beim tiny13 aus:

Error 202 line:1 EQU not found, probably using functions that
are not supported by the selected chip (UBRR) in File....
Gleicher Text nochmel aber (UCR)

Beim Tiny84 kommt noch (WDTCR) dazu.

Das Bascom ist ein Demoversion von Franzis, sollte es daran liegen?

Grüße

Rolf

von spess53 (Gast)


Lesenswert?

Hi

Anscheinend benutzt dein Programm Register, die ein ATTiny13 oder 
ATTiny84 schlichtweg nicht hat.

Z.B. WDTCR hat ein ATTiny nicht. Das heisst dort WDTCSR.

MfG Spess

von spess53 (Gast)


Lesenswert?

Hi

Und ein ATTIny13 hat auch keine UART -> UBRR, UCR.

MfG Spess

von Rolf H. (flash01)


Lesenswert?

mh..aber ein Mega8 hat doch auch kein UART, oder?

von spess53 (Gast)


Lesenswert?

Hi

>mh..aber ein Mega8 hat doch auch kein UART, oder?

Selbstverständlich.

MfG Spess

von Otto (Gast)


Lesenswert?

Mit

$regfile = attiny13.dat

funktioniert das bei mir einwandfrei.

von Rolf H. (flash01)


Lesenswert?

Hallo Otto,
wahrscheinlich hast Du eine Vollversion!
Das attiny 2313 haut bei mir auch hin.
Habe mal über Reichelt im Datenblatt vom 2313 gestöbert..wahnsinn,
was sich da abspielt.
Ich konnte festhalten Register MCUCR bzw. MCUSR bzw. WDTCR.
Damit hätte Spess recht, daß mein Bascom die Register verwendet und
der tiny13 sie nicht hat.

Grüße

Rolf

von Johannes (Gast)


Lesenswert?

Im Menue Optionen  Compiler  Chip findest du alle Chips, die in deiner 
Version zur Verfügung stehen.

Jo

von Rolf H. (flash01)


Lesenswert?

Hallo Otto,
teile mir doch bitte mit, welche Programmierart Du im Bascom
eingestellt hast.

Unter Optionen  Compiler  CHIP / Programmer... hier kann man doch
jetzt auswählen

jetzt verstehe ich unter Uart meint man die Leitungen TXD / RXD, oder?

von Rolf H. (flash01)


Lesenswert?

Hallo Johannes,
das ist ja das merkwürdige, daß sie dort vorhanden sind wähle z.B.
tiny13 ins Fenster und gebe es auch nochmal im $regfile ein.
....Error

Grüße

Rolf

von Udo (Gast)


Lesenswert?

Die Demo-Version von Bascom unterstützt alle Controller die die 
Vollversion auch unterstützt. Die einzige Beschränkung liegt in der 
Code-Größe welche bei der Demo auf 4k begrenzt ist.

Wenn man mit Bascom etwas programmiert (übrigens auch mit C usw.) sollte 
man wissen was man möchte und was der Controller kann.

Gruß Udo

von Klaus D. (kolisson)


Lesenswert?

Du hast es zwar nicht erwähnt aber ich glaube du hast den
Befehl  "$baud = " auch eingetragen.
Der tut es dann beim tiny nicht.

Gruss Klaus

von Peter D. (peda)


Lesenswert?

Rolf Hegewald schrieb:
> Error 202 line:1 EQU not found, probably using functions that
> are not supported by the selected chip (UBRR) in File....

Ich weiß nicht, was Du hast. Die Fehlermeldung trifft doch den Nagel 
ganz genau auf den Kopf.

Falls also Englisch Dein Problem ist:
"Du hast einen AVR ausgesucht, der kein Bit/Register mit dem Namen UBRR 
besitzt."

Ein Blick ins Datenblatt wird Dir das bestätigen (Abschnitt: Register 
Summary).

Entweder der Name wurde geändert oder diese Funktion existiert überhaupt 
nicht in diesem AVR.


Peter

von Otto (Gast)


Lesenswert?

Funktioniert auf der Demo- Version genauso wie auf der Voll- Version.
Was meinst Du mit "Programmierart" ?

von Rolf H. (flash01)


Lesenswert?

Hallo Klaus,
habe den Eintrag $baud 19200 gelöscht und dann lief mit tiny 13 alles
ohne Error.
Was bewirkt denn dieser sch.  Befehl?
Da soll einer erst mal dahinter kommen.

Danke Euch allen für Eure Mühe....das Forum ist einfach "SPITZE"!

Grüße

Rolf

von Stephan H. (stephan-)


Lesenswert?

Rolf Hegewald schrieb:
> Hallo Klaus,
> habe den Eintrag $baud 19200 gelöscht und dann lief mit tiny 13 alles
> ohne Error.
> Was bewirkt denn dieser sch.  Befehl?
> Da soll einer erst mal dahinter kommen.
>
> Danke Euch allen für Eure Mühe....das Forum ist einfach "SPITZE"!
>
> Grüße
>
> Rolf

Das passiert wenn man Programme einfach nur abschreibt....

> das Forum ist einfach "SPITZE"!

weil die Leute hier nachdenken und lesen. Und eben nicht einfach nur 
abschreiben.

von Klaus D. (kolisson)


Lesenswert?

Rolf Hegewald schrieb:
> Hallo Klaus,
> habe den Eintrag $baud 19200 gelöscht und dann lief mit tiny 13 alles
> ohne Error.
> Was bewirkt denn dieser sch.  Befehl?
> Da soll einer erst mal dahinter kommen.
>
> Danke Euch allen für Eure Mühe....das Forum ist einfach "SPITZE"!
>
> Grüße
>
> Rolf

Tja Rolf,
was soll ich sagen. Da es mir irgendwann auch so ging wusste ich es 
dann.
Ich brauchte aber für die Lösung kein Forum sondern habe mich einfach
lange genug geärgert um mir dann selbst zu helfen.

Wie Peter Danneger schon schrieb:

"*******************
> Error 202 line:1 EQU not found, probably using functions that
> are not supported by the selected chip (UBRR) in File....

Ich weiß nicht, was Du hast. Die Fehlermeldung trifft doch den Nagel
ganz genau auf den Kopf.

Falls also Englisch Dein Problem ist:
"Du hast einen AVR ausgesucht, der kein Bit/Register mit dem Namen UBRR
besitzt."

Ein Blick ins Datenblatt wird Dir das bestätigen (Abschnitt: Register
Summary).

Entweder der Name wurde geändert oder diese Funktion existiert überhaupt
nicht in diesem AVR.
**************"

Da wird ja ausdrücklich auf das Register UBRR hingewiesen.
Da viele Tinys das nicht haben gibt es halt ein Problem,
da die BAUD direktive natürlich im Register UBRR etwas einstellen 
möchte.

Nun weisst du ja bescheid und gut isses.

Als kostenlosen Zusatztipp sage ich dir jetzt schon,
dass bei Tynis auch die Defaulteinstellungen für Stack/ Frame etc.
zum Fallstrick werden könnten.

Ich verstehe auch nicht, warum ein Anfänger, der noch Lesefaul ist
mit einem Tiny anfangen muss und sich nicht einfach auf nen Mega88
konzentriert.

Du wirst dich entscheiden.

Klaus

von Turbo T. (turbotoni)


Lesenswert?

Unter 
http://mcselec.com/index.php?option=com_docman&task=doc_download&gid=140&Itemid=54 
gibt es eine Bascom Reference, in der sämtliche befehle beschrieben 
sind.

Darin ist auch erläutert was $baud bedeutet.

MfG Turbotoni

von Rolf H. (flash01)


Lesenswert?

Hallo Leute,
Eure mahnenden Worte "Sprich lesefaul" hab ich aufgenommen!

Zum Schluß trotzdem ein paar Worte zu meiner Verteidigung.
Vor ca. 10 Jahren hatte ich mich den Pics zugewendet. Wer sie kennt,
weiß was das bedeutet. Da träumt man nachts schon von Registern.
Hier kommt man ums lesen nicht herum. (Bücher in Deutsch)
Ich entwickelte sogenannte Ortungspieper für Modellsegler mit einem 
8xDip Gehäuse (12Cxxx)
Da wir im Flugverein sogenannte Br. -Regler einsetzen, auf dem ich
immer wieder einen Atmel entdeckte lies mich der Name nicht mehr los.
Somit kaufte ich das Lernpacket vom Franzis-Verlag.
Da steht natürlich im Buch nichts über sowas Eingemachte.
Meine ersten Gehversuche mit einem Mega8 zeigten Erfolg, so daß
ich einen Märklin-Kran zum laufen brachte.
Und nun kam mir die Idee einen Ortungspieper mit einem Tiny13 zu 
realisieren. Mein englisch ist "NULL" und habe heute mit 76 Jahren
keine Lust mehr, damit einzusteigen.
Eure Worte zu mir machen mich nachdenklich, ob ich hier nochmals
eine Frage stelle, die mir noch auf dem Herzen liegt.
Zum Schluß nochmals ein Dankeschön an alle.

Grüße

Rolf

von Weingut P. (weinbauer)


Lesenswert?

Hallo Rolf,

ein Tip habe ich noch zum Bascom.
Ich habe mit diesem Buch:
http://www.amazon.de/Programmieren-AVR-RISC-Microcontroller-BASCOM-AVR/dp/3907857143/ref=sr_1_3?ie=UTF8&qid=1312358388&sr=8-3
damit angefangen und kann es nur wärmstens empfehlen.

von Rolf H. (flash01)


Lesenswert?

danke für Deinen Hinweis! Auch ich habe ein Buch von Amazon zu 54,-€
gekauft "Einfacher Einstieg in die Elektr. mit AVR-Controller und 
Bascom"
von Stefan Hoffmann,
und habe gelesen und gelesen. Über solche speziellen Probleme von
Beschreibung der Bascombefehle und ihren Auswirkungen auf Register steht
natürlich nichts. Oder ich habs noch nicht entdeckt.
Ich sehe aber das in allen seinen Programmen dieser baud Befehl nicht
vorkommt.
Die Anregung von Turbotoni fand ich auch gut, hab es mir gleich runter-
geladen.
Es müßte eine Software geben, wo man eine PDF vom englisch ins deutsche
übersetzt, obwohl technisch Englisch immer noch was ausgefallenes ist.

Grüße

Rolf

von Hans (Gast)


Lesenswert?

Rolf Hegewald schrieb:
> Eure Worte zu mir machen mich nachdenklich, ob ich hier nochmals
> eine Frage stelle, die mir noch auf dem Herzen liegt.

Hallo Rolf,

es tut mir sehr leid, dass die Worte hier im Forum in der Regel sehr 
hart sind. Ich selber stelle hier keine Fragen mehr, sondern lese nur 
noch. Leider herrscht hier im Forum eine schlechte Kinderstube und eine 
hohe Arroganz. Das gilt vor allem für den engeren Kreis. Lass Dich 
dadurch nicht unterkriegen!

Vermutlich wird mein Thread sehr schnell gelöscht. Ich hoffe Du kriegst 
das trotzdem noch mit.

VG,

von Klaus D. (kolisson)


Lesenswert?

Rolf Hegewald schrieb:
> Eure Worte zu mir machen mich nachdenklich, ob ich hier nochmals
> eine Frage stelle, die mir noch auf dem Herzen liegt.

Hallo Rolf,
so war das doch nun auch nicht gemeint.

Gruss klaus

von Chris (Gast)


Lesenswert?

Rolf Hegewald schrieb:
> Und nun kam mir die Idee einen Ortungspieper mit einem Tiny13 zu
> realisieren. Mein englisch ist "NULL" und habe heute mit 76 Jahren
> keine Lust mehr, damit einzusteigen.

Dann wirst Du leider nicht sehr weit kommen. Es fängt ja schon damit an, 
dass man die Meldungen des Compilers nicht verstehen kann. Du wirst auch 
kein Buch (erst recht keines in deutscher Sprache) finden, was dir das 
Lesen des Datenblattes ersetzen wird.
Das ist wirklich nicht böse gemeint, es ist einfach so.

Der Ton hier ist tatsächlich recht rau. Dafür sind die Leute jedoch sehr 
kompetent. Wenn Du bei deinen nächsten Fragen gleich auf dein 
"Englischproblem" hinweist, läuft es vielleicht auch etwas besser.

von Uwe (Gast)


Lesenswert?

Wenn du PIC in Assembler programmiert hast würde ich auch bei Atmel 
dabei bleiben. Beide haben zwar ihre Eigenheiten aber jetzt mit Basic 
anzufangen weil es in einem Buch benutzt wird ist glaube ich keine so 
gute Idee. Schau dir mal AVR Tutorials an und guck dir die Befehlsliste 
der AVRs an.

von Uwe (Gast)


Lesenswert?


von Rolf H. (flash01)


Lesenswert?

Hallo Chris,
der Ton mag vielleicht etwas rauh sein, bin aber jeden Vorschlag
nachgegangen und habe dabei immer noch dazu gelernt. Den Vorschlag 
versucht
umzusetzen war meine Aufgabe.
Ich bleibe bei Bascom und werde den ersten Tiny mit einer LED zum 
"Blinken"
bringen, bevor es dann ins "Eingemachte" geht!

Viele Grüße

Rolf

von Karl H. (kbuchegg)


Lesenswert?

Rolf Hegewald schrieb:
> Hallo Chris,
> der Ton mag vielleicht etwas rauh sein, bin aber jeden Vorschlag
> nachgegangen und habe dabei immer noch dazu gelernt. Den Vorschlag
> versucht
> umzusetzen war meine Aufgabe.
> Ich bleibe bei Bascom und werde den ersten Tiny mit einer LED zum
> "Blinken"
> bringen, bevor es dann ins "Eingemachte" geht!

Was eventuell hilfreich sein könnte(*) ist, das Assembler Tutorial 
durcharbeiten
AVR-Tutorial

Der Grund dafür ist einfach. Es wird dir immer wieder passieren, dass 
sich Fehlermeldungen auf etwas beziehen, was tief unter das BASCOM 
Abstraktionsschicht steckt. Mit Assembler gibt es keine 
Abstraktionsschicht, d.h. dort programmierst du auf dem tiefsten 
möglichen Level, direkt an der Hardware. Und so lernst du dann auch die 
Begriffe von dort kennen.

Aber all das ist kein Argument, das Datenblatt nicht bei der Hand zu 
haben und reinzuschauen. So leid mir das auch für dich tut. Allerdings: 
Technische Datenblätter sind keine literarischen Meisterwerke. Soll 
heißen, recht viel Englisch muss man dabei nicht können und zb mit einer 
Google Übersetzung kann man dann schon auch "erraten", was da 
niedergeschrieben steht. Zumal sich die Dinge ja sowieso immer wieder 
wiederholen und immer gleiche Phrasen benutzt werden.

Und eine Frage ala "Was macht denn $baud?" ist ein komplettes Unding. 
Denn dazu gibt es die BASCOM Hilfe, in der man das alles nachschlagen 
kann. Da findet man raus, dass das was mit der UART zu tun hat und da 
der Tiny13 keine UART hat, erklärt sich dann auch der Fehler ganz 
schnell von alleine, wenn man weiß dass diese Register mit der UART zu 
tun haben (was man wiederrum bei seinen erstzen Assembler-Schritten 
gelernt hat).

Und das hat dann auch nichts mit Unfreundlichkeit oder Arroganz zu tun. 
In der Hilfe  nicht  nachzusehen wird in diesem Froum eben nicht als 
Kavaliersdelikt angesehen. Denn dazu ist sie da, dass man reinsieht und 
genau deswegen ist sie mit BASCOM mit installiert worden. Man muss sie 
nur benutzen.

(*) was heißt eventuell, so wie in deinem Fall zeigt sich sehr oft, dass 
es auch bei BASCOM mehr als hilfreich ist

von Rolf H. (flash01)


Lesenswert?

Hallo Karl Heinz,
danke für Deine Nachricht!
Hab das AVR-Tutorial gleich in die Favoriten gezogen und werde sehen,
was ich davon gebrauchen kann.
Glaube mir, erst durch Euer Forum bin ich um vieles schlauer geworden
und das Gefühl zu haben, von Leuten mit Arroganz behandelt zu werden,
hatte ich nicht. Hab zwar mal geschluckt, als es hieß "lesevaul"
aber mehr auch nicht.
Sollte ich nochmal eine Frage haben, werde ich gleich auf meine
Englischkentnisse hinweisen.
Ich merke aber, der harte Kern von Leuten des Forums sind Profis,
die sachlische Antworten geben. Es dauert eben bei Leuten in meinem
Alter etwas länger, diese zu verarbeiten.

Viele Grüße hier aus dem Hamburger Raum

Rolf

von Rolf (Gast)


Lesenswert?

Hallo Leute,
ich habs geschafft! Einen kleinen Tiny13 über ein myAVR Bord
eine einfache Blinkroutiene hinein zuschieben.
Mußte dafür noch eine Hardware stricken, da auf dem Bord my AVR
nur ein Mega8 Platz hat. Über das ISP kabel bin ich auf eine Loch-
rasterplatine gegangen, wo am tiny13 die Signale SCK/MISO/MOSI/RESET
und Versorgung ankommen.

Das ganze sieht so aus:

'Prozessor: ATtiny13

'Datei-Name: blinktiny1302.bas

'Datum: 18.08.2011

'Hardware:  ledb0 an PB0 Pin5
'           ledb2 an PB2 Pin7
'           Taste sw1 an PB3 Pin2

'Zielsetzung:ledb0 und ledb2 blinkt,wenn Taste sw1 gedrückt.


'System-Einstellungen
'======================================================
'Definition für ATtiny13
   $regfile "attiny13.dat"

'Angabe der Taktfrequenz
   $crystal = 1000000



'Konfiguration Ausgänge:
'======================================================
Ledb0 Alias Portb.0
Config Ledb0 = Output

Ledb2 Alias Portb.2
Config Ledb2 = Output



'Konfiguration Eingänge
'======================================================
Sw1 Alias Pinb.3
Config Sw1 = Input
Portb.3 = 1


'Hauptprogramm-Schleife
'======================================================

Do

'Abfragen der Taste Sw1 auf LOW
If Sw1 = 0 Then
Goto Blinken

End If

Loop
End

Blinken:
Set Ledb0
Set Ledb2
Wait 1
Reset Ledb0
Reset Ledb2
Wait 1
Goto Blinken

Grüße

Rolf

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.