Hallo Leute,
also ich habe mir das board von pollin für 15 € gekauft und es
funktioniert auch einwandfrei.
jetzt mein Problem:
1. ich habe versucht das testtool umzuschreiben, also mal beide Ausgänge
vertauscht , ich wollte das als hex-file konvertieren aber er bringt mir
nur fehlermeldung.
hier ist das programm aber bitte nicht schimpfen, dass ist meine erste
aufgabe die ich in sachen microcontroller mache.
die definition ist im anhang, einfach nur mit editor öffnen.
mein prog:
$regfile = "tn2313def.inc" 'definieren des verwendeten Chips
$crystal = 8000000 'definieren des verwendeten externen Quarz (8MHz)
Dim A As Byte 'dimensionieren der verwendeten Variablen
Dim B As Byte
Ddrd = &B11100000 'definieren der verwendeten Ports ( 1 = ausgang; 0=
eingang)
Portd = &B00000000 'definieren der einzelnen Pins an einem Port ( 0= low
level; 1= high level)
Main: 'Hauptprogramm
Do 'Anfang der Schleife
If Pind.2 = 1 Then 'Wenn an Pin 2 von Port D ein high level anliegt,
dann...
Toggle Portd.6 '...setze Pin 6 von Port D von high auf low oder
umgekehrt
Bitwait Pind.2 , Reset 'warte bis an Pin 2 von Port D wieder ein low
level anliegt
End If 'Ende der Bedingung
If Pind.3 = 1 Then 'Wenn an Pin 3 von Port D ein high level anliegt,
dann...
Toggle Portd.5 '...setze Pin 5 von Port D von high auf low oder
umgekehrt
Bitwait Pind.3 , Reset 'warte bis an Pin 3 von Port D wieder ein low
level anliegt
End If 'Ende der Bedingung
Loop 'zum Anfang der Schleife
Bitte helft mir
gruß maik
Maik wrote:
>> hier ist das programm aber bitte nicht schimpfen,
Wir sind ja nicht deine Eltern :-)
> 1. ich habe versucht das testtool umzuschreiben, also mal beide Ausgänge> vertauscht , ich wollte das als hex-file konvertieren aber er bringt mir> nur fehlermeldung.
Der erste Schritt besteht immer darin, die Fehlermeldungen zu
lesen und mit dem geschriebenen Code in Verbindung zu bringen.
Also: Wie lauten die Fehlermeldungen.
Normalerweise ist meist nur die erste Fehlermeldung interessant.
Du versuchst ein Basic Programm mit dem Assembler zu kompilieren.
Schau doch mal ins Tutorial, oder besorge dir den Bascom Compiler. Der
sollte mit dem Code umgehen können...
Den compiler hab ich mir schon gedownloadet, aber ichkomm mit der
programmierungnicht klar, ich habe gestern abend, mal mit bascom ein
bisschen gefumelt,also ein bisschen geht es schon, ich weiß aber nicht
wie die ausgänge und eingänge definiert werden. und von bascom hab ich
bis jetzt noch kein tutorial gefunden, dass mir dann weiterhelfen kann.
gruß maik
Maik wrote:
> Den compiler hab ich mir schon gedownloadet, aber ichkomm mit der> programmierungnicht klar, ich habe gestern abend, mal mit bascom ein> bisschen gefumelt,also ein bisschen geht es schon, ich weiß aber nicht> wie die ausgänge und eingänge definiert werden. und von bascom hab ich> bis jetzt noch kein tutorial gefunden, dass mir dann weiterhelfen kann.>>
Ist zwar kein Tutorial, aber in der BASCOM Hilfe sind
doch jede Menge Beispiele enthalten.
Schau mal in den Befehl "CONFIG PORT"
Auch der Abschnitt "BASCOM Language Fundamentals" -
"Newbie Problems" ist es wert mal gelesen zu werden.
Im übrigen: Im Netz gibt es Tutorien zu BASCOM.
Man muss sie nur suchen (und finden)
http://www.google.com
Suchbegriff: BASCOM Tutorial
zb. das hier arbeitet mit BASCOM
http://www.roboternetz.de/wissen/index.php/AVR-Einstieg_leicht_gemacht
ist das eigentlich die ganz normale basic sprache, ich habe mal mit
GW-Basic in der schule eine ampelsteuerung realisiert das wahr aber in
der 7. klasse also verdammt lang her (4 J). Gibt es irgendwo ein liste
mit den ganzen befehlen und deutscher übersetzung dazu oder gibt es ein
patch für bascom damit die hilfe auf deutsch wird, weil so gut ist das
englisch bei mir auch nicht. wenn es das irgendwie gibt dann weiß ich
wenigsten wie es so halbwegs geht.
gruß maik
Ich will auch alle AVR-Literatur in Deutsch!
Und möglichst noch als Videos, damit ich nicht lesen brauche!!
Ansonsten streike ich!!!
- Oder auch nicht...
...
@Maik
kauf dir doch das Buch "Programmieren der AVR RISC Mikrocontroller mit
BASCOM-AVR" von Claus Kühnel... aber 35 EUR sind dir bestimmt zu
teuer... Kostenlos ist Google...
@Hannes [...]
wieder mal spitz formuliert ;-)
Holgi
ja stimmt, 35€ ist wirklich ein bisschen zuviel aber bei google find ich
auch nichts richtiges, ich brauch ja bloß die befehle und vielleicht ein
beispiel dazu, wie ich die befehle realisiere.
gruß maik
Holger Krull wrote:
> @Hannes [...]> wieder mal spitz formuliert ;-)
Na ist doch wahr. Null Bock in der Schule (siehe penetrante
Kleinschreibung und Weigerung Englisch zu lesen), null Ahnung (hatten
wir auch alle mal, haben wir aber mit Fleiß geändert), aber Pollin-Board
kaufen und programmieren wollen...
Ich kann hier keine Eigenbemühung erkennen. Da rutscht mir dann schon
mal eine spitz formulierte Bemerkung raus.
Ich kann und weiß auch Vieles nicht. Da muss ich eben im Einzelfall
entscheiden, ob ich es lernen will, indem ich mich mit dem Stoff
beschäftige, oder ob ich es (vorläufig) sein lasse. Wissen und Können
muss man sich erarbeiten. Das kann man nicht in Foren zusammenfragen.
...
@Hannes Lux
1. ich will es ja lernen, aber ich habe bis jetzt nur am Wochenende
Zeit.
Weil ich jeden Tag 4 Uhr mit der Bahn fahren muss damit ich dann
6:30 Uhr auf Arbeit bin, und dann erst wieder 21 Uhr zu Hause bin.
2. Die Großschreibung geht bei meinen PocketPC nur mit Stift, also
verzeih mir das bitte.
3. Das Board von Pollin hat mir mein Ausbilder empfohlen und bestellt,
er meinte , dass reicht zum üben und für Testzwecke.
4. Ich bin vor einen Jahr aus der Schule raus und bis jetzt nie wieder
was mit Englisch zutun gehabt.
5. Ich habe nicht vor alles in Foren zufragen, ich möchte ja bloß Tips
oder Hilfe. die Basic-Sprache hab ich noch ein bisschen drauf, und wenn
man von vielleicht 10% anfängt dauert es zwar nicht mehr solange aber es
kostet nun doch ein bisschen Zeit.
gruß Maik
okay,zeit, ist immer schlecht wenn man keine hat.
ich kann dir nur empfehlen bei ebay nach dem
"mikrokid" zu suchen da ist eine cd dazu und beispielprogramme,
für anfänger.mit dem habe ich angefangen und konnte nach kurzer
zeit die ersten erfolge verbuchen.
(p.s. ich schreibe auch nur klein und das stört mich nicht.)
da bekommst du auf einfache art und weise die befehle erklärt
und kannst nach kurzer dauer sie auch sinnvoll einsetzten.
angefangen von taster-abfragen über kleine lauflichter und bis hin
zu den timern nutzen,also für den anfang super und auch nicht teuer
wenn man bedenkt was der vertreiber an zeit und arbeit reingesteckt
hat.also suche mal nach dem teil.
hier der link:
www.mikrokid.de
k.m.
Maik Bizuga wrote:
> @Hannes Lux>>> 1. ich will es ja lernen, aber ich habe bis jetzt nur am Wochenende> Zeit.
Das ist gut.
> Weil ich jeden Tag 4 Uhr mit der Bahn fahren muss damit ich dann> 6:30 Uhr auf Arbeit bin, und dann erst wieder 21 Uhr zu Hause bin.
Das ist verwerflich. Die dafür verantwortlichen Politiker sollte man
aufhängen.
>> 2. Die Großschreibung geht bei meinen PocketPC nur mit Stift, also> verzeih mir das bitte.
Das ist eine Frage der Disziplin. Und seitdem groß und breit über dem
Texteigabefeld (vierter Hinweis von oben) darauf hingewiesen wird, dass
in diesem Forum Groß/Kleinschreibung erwünscht ist, wage ich es auch
gelegentlich, notorische Kleinschreiber darauf hinzuweisen.
>> 3. Das Board von Pollin hat mir mein Ausbilder empfohlen und bestellt,> er meinte , dass reicht zum üben und für Testzwecke.
Wenn der Rechner nicht zu modern ist (wenn er noch eine echte
COM-Schnittstelle hat), dann ist das Board nicht schlecht. Der darin
enthaltene Programmer kommt aber mit einem Großteil der neuen PCs und
Laptops nicht zurecht, da diese keine echte COM-Schnittstelle mehr
haben.
>> 4. Ich bin vor einen Jahr aus der Schule raus und bis jetzt nie wieder> was mit Englisch zutun gehabt.
Ich bin vor über 40 Jahren aus der Schule raus und hatte nie
Englisch-Unterricht. Trotzdem habe ich mich (ohne Meckern) damit
abgefunden, dass die Datenblätter und viele andere Wissensquellen im
technischen Bereich nur in Englisch verfügbar sind. Ein Wörterbuch kann
da sehr hilfreich sein.
>> 5. Ich habe nicht vor alles in Foren zufragen, ich möchte ja bloß Tips> oder Hilfe.
Besser ist das.
> die Basic-Sprache hab ich noch ein bisschen drauf,
Ich habe BASIC auch 'drauf', ich programmier(t)e in einigen
BASIC-Dialekten auf verschiedenen Systemen. Nur auf dem AVR hat mir mein
BASIC-Wissen absolut nichts gebracht. Wenn man so dicht an der Hardware
programmieren möchte, dann muss man die Hardware (Controller-Architektur
incl. interner Peripherie-Features) auch kennenlernen, was BASCOM
wirksam verhindert. Wenn man C nicht virtuos beherrscht ist Assembler
die bessere Wahl. Nur so lernt man ohne Umwege die Hardware-Features
(Timer, ADC, ...) kennen und effizient nutzen.
> und wenn> man von vielleicht 10% anfängt dauert es zwar nicht mehr solange aber es> kostet nun doch ein bisschen Zeit.
Ja, das Aneignen von Wissen kostet Zeit. Wissen kann man nunmal nicht
kaufen, das muss man sich erarbeiten. Dafür kann Dir Dein Wissen keiner
mehr wegnehmen.
>>>>>>> gruß Maik
...
(heißt soviel wie 'Beste Grüße, Hannes')
Zum Einsteigen find ich den BASCOM nicht schlecht, hab ich auch so
gemacht. Allerdings sollte man sich damit nicht lange aufhalten und
schnellstens zum Assembler wechseln, jedenfalls meine Meinung.
Was kann man alles mit Bascom realisieren, wie schwer ist die
Assemblersprache, ich hab mich noch nicht damit befasst, was haltet ihr
von PureBasic (http://www.purebasic.de) , einer schon Erfahrung damit.
gruß maik
Oh Herr wirf Hirn vom Himmel!
Hast du überhaupt einen Plan was programmieren ist?
Was der Unterschied zwischen einer CPU und einem Mikrocontroller ist?
Definitiv NEIN!
PureBasic ist für den PC und nicht für einen Tiny2313.
Du solltest dringend in den 4 Stunden Bahnfahrt ein Buch darüber lesen.
Das musst du ja nicht zwingend kaufen, leihen geht auch.
Maik Bizuga wrote:
> Was kann man alles mit Bascom realisieren,
Mit BASCOM kann man alles erledigen, für das fertige Bausteine
mitgeliefert werden. Um diese anwenden zu können, musst Du natürlich die
Dokumentation (Hilfe) lesen und verstehen, die ist aber nunmal in
Englisch.
Du wirst Dich mit absolut unlogischen Config-Anweisungen herumschlagen
müssen. Und wenn Du mal ein Bauteil hast, für das BASCOM keinen fertigen
Baustein mitbringt, dann bist Du am Ende, denn die Phillosophie von
BASCOM besteht darin, Dich abhängig zu machen, damit Du die Vollversion
kaufst. Deshalb verbirgt Dir BASCOM die reale Hardware (die im Datasheet
des AVRs genauestens erklärt ist), denn Du könntest ja auf die Idee
kommen, die I/O-Register auch direkt anzusprechen, was dann das Niveau
von ASM ist...
> wie schwer ist die> Assemblersprache,
Wenn man die Hochsprache, die man benutzen möchte (z.B. C) auch nicht
richtig beherrscht, dann ist Assembler die einfachste Sprache. Denn als
Wissensquelle genügt das Datenblatt des AVRs, da steht sogar der
komplette Befehlssatz drin (ein AVR kann weder BASIC noch C, er kann nur
Maschinencode, jeder Maschinenbefehl entspricht exakt einem
Assemblerbefehl, ASM ist nur eine andere Schreibweise für
Maschinencode).
Die Hilfe zum (kostenlosen) AVR-Studio und die Datei AVR-Instruction-set
geben weiterführende Erklärungen zu den Assemblerbefehlen.
> ich hab mich noch nicht damit befasst,
Schade eigentlich. Denn nur in ASM macht der Controller genau das, was
man programmiert. Um das in einer Hochsprache zu erreichen, muss man
diese schon sehr virtuos beherrschen. Gute C-Programmierer können
übrigens auch Assembler.
> was haltet ihr> von PureBasic (http://www.purebasic.de) ,
Ist nicht für Mikrocontroller, sondern für PC.
> einer schon Erfahrung damit.
Ja, ich hatte mir mal die Demoversion von PureBasic angesehen. Die ist
aber immer abgestürzt, daher habe ich sie wieder entsorgt und nutze
weiterhin QB und VB.
>>
Ehe Du jetzt irgendwelche unüberlegten Entscheidungen triffst, solltest
Du mal das AVR-Tutorial hier auf dieser Webseite durchlesen und
versuchen zu verstehen. Zum Nachvollziehen der ASM-Codebeispiele
brauchst Du nichtmal reale Hardware, es genügt das kostenlose AVR-Studio
(www.atmel.com), um diese Programmbeispiele im Simulator zu analysieren.
Wenn Du sie dann verstanden hast, kannst Du sie ja mit realer Hardware
ausprobieren. Versuche dabei aber nicht, den dritten Schritt vor dem
ersten zu machen, das bringt nur Frust.
>> gruß maik
...
Thomas wrote u.a.:
>> Du solltest dringend in den 4 Stunden Bahnfahrt ein Buch darüber lesen.> Das musst du ja nicht zwingend kaufen, leihen geht auch.
Dem stimme ich zu.
Ich könnte leihweise (ein, zwei Monate) das Buch
AVR-Mikrocontroller-Praxis (Volpe, ELEKTOR) zur Verfügung stellen. Es
erklärt den ASM-Befehlssatz auf Deutsch, zeigt ein paar
Hardware-Beispiele und ein paar Programm-Beispiele in Assembler. Auch
die grundlegende Architektur des AVRs wird erklärt.
...
Hannes Lux wrote:
> denn die Phillosophie von> BASCOM besteht darin, Dich abhängig zu machen, damit Du die Vollversion> kaufst.
@Hannes
da BASCOM wie KOKS ist, ist das aus in den Niederlanden... :-)))
(kleiner Scherz am Rande)
@Maik
sei froh, das die Hilfe nicht in niederländisch ist....
@Hannes Lux
Das währe nicht schlecht, wenn du mir das Buch leihen könntest, das
AVR-Studio hab ich schon geladen. Ich bin aber noch nicht dazu gekommen
was damit zu machen.
gruß maik
Maik Bizuga wrote:
> @Hannes Lux>> Das währe nicht schlecht, wenn du mir das Buch leihen könntest, das> AVR-Studio hab ich schon geladen. Ich bin aber noch nicht dazu gekommen> was damit zu machen.>
Na super.
Das ist doch schon ein Anfang.
Dann fang hier
http://www.mikrocontroller.net/articles/AVR-Tutorial
mal zu lesen an.
Wenn du was nicht verstehst: Hier fragen.
(Ist auch in unserem Interesse. Dann können wir das Tutorium
weiterentwickeln)
Maik Bizuga wrote:
> @Hannes Lux>> Das währe nicht schlecht, wenn du mir das Buch leihen könntest,
Ja, ich kann. Aber dazu müsstest Du schon Kontakt zu mir aufnehmen.
> das> AVR-Studio hab ich schon geladen. Ich bin aber noch nicht dazu gekommen> was damit zu machen.
Dazu verweise ich auch auf das Tutorial. Das weist auf die ersten
Stolperfallen hin. Da das Tutorial den Mega8 benutzt, wäre es sinnvoll,
wenn Du Dir (z.B. bei CSD, siehe Linkliste) einenn Mega8 zulegen
würdest. Das erspart Dir (in der Phase, in der Du noch null Ahnung hast)
viel Umdenkerei, denn die AVRs sind unterschiedlich ausgestattet
(Features) und die Programme sind daher an den jeweiligen Typ
anzupassen, was schon etwas Überblick erfordert.
...
@Hannes Lux
wie machen wir das mit den Kontakt, soll ich dir PM schicken oder wie.
Den Mega8 hab ich gestern schon bestellt und einen Mega16/32 auch
gleich.
Gruß Maik
Maik-Bizuga wrote:
> wie machen wir das mit den Kontakt, soll ich dir PM schicken oder wie.
Ja sicher doch, oder siehst Du eine andere Möglichkeit?
Kannst es natürlich auch abholen, falls Du im Raum Magdeburg unterwegs
bist...
> Den Mega8 hab ich gestern schon bestellt und einen Mega16/32 auch> gleich.
Gute Idee (Mega8). Mega16/32 haben natürlich wieder ihre eigenen
Fallstricke, die würde ich erstmal beiseite legen um Frust zu sparen.
Das Tutorial nutzt den Mega8. Also brauchst Du erstmal nur den Mega8, um
das Tutorial (ohne Umdenken auf einen anderen Typ) abarbeiten zu können.
...
Maik Bizuga wrote:
> @Hannes Lux>> ne nach Magdeburg komm ich erstmal nicht.
Das Buch ist schon unterwegs.
>> Das mit den Atmels dauert eh noch ein bisschen, bis die da sind.
Was sind 'Atmels'? - Die Leute, die bei Atmel arbeiten? Die '51er der
AT89er Reihe? Die ARMs der 91er Reihe? Die vielen anderen
Schaltkreisfamilien, die bei Atmel hergestellt werden? Falls Du damit
AVRs meintest, dann nenne sie bitte auch AVRs. Das klingt vielleicht
nicht ganz so cool, ist aber unmissverständlich.
>> Gruß Maik
Gruß,
Hannes
Maik Bizuga wrote:
> ich werde es mir merken, also z.B. Mega8 = AVR. ist das richtig ?
Nein, es gibt auch noch andere AVRs.
>> Gruß Maik
Es gibt Aussagen, die gelten für die gesamte AVR-Controllerfamilie. In
diesem Fall kann man verallgemeinern, indem man sie AVRs nennt.
Es gibt aber auch Aussagen, die nur für einen ganz bestimmten Tüp
gelten, dann sollte man diesen Typ schon beim Namen nennen. Es reicht
z.B. nicht, vom 'Tiny' zu reden, weil es Probleme mit (evtl. nicht
vorhandenem) SRAM gibt. Denn der eine hat (Tiny2313, Tiny13, Tiny25,
...) der andere hat nicht (Tiny12, Tiny15, ...). Ebenso gibt es kaum
Aussagen, die auf alle 'Megas' zutreffen. Die Ausstattung mit Features
ist dermaßen unterschiedlich, dass man den Typ schon nennen sollte.
Da funktioniert z.B. ein LCD am PortC des 'Mega' nicht. Wenn man weiß,
dass es der Mega16/32 ist, dann kann man darauf hinweisen, dass das
aktive JTAG-Interface einige I/O-Pins von PortC blockiert. Weiß man es
nicht, weil der Hilfesuchende ganz cool von seinem 'Atmel' oder 'ATMega'
spricht (wir haben ja alle nur diesen einen Typ, den der Fragesteller
gerade beim Wickel hat!), dann ist Rätselraten angesagt. Und der
Hilfesuchende wundert sich dann, dass er spitze (ironische) Nachfragen
bekommt (auch von mir) weil ihn niemand ernst nimmt.
...