Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

101

Donnerstag, 2. Februar 2006, 21:43

Und mit C wirst du hier bald jonglieren lernen.

Ein kleiner Unterschied zum C in deiner Ausbildung besteht aber schon. An den wirst du schon bald erinnert wenn du dann selbst die ersten Experimente machst.

- das Programm darf nicht unendlich gross sein
- dir steht nicht unbegrenzt Speicherplatz zur Verfuegung
- nicht jeder C Code aus dem Lehrbuch ist Mikroprozessor optimiert

Insb. beim letzten Punkt wuerde es tlw. deinen Lehrern die Haare aufstellen.
Strukturiert programmieren ja, aber nur bis zu einer gewissen Grenze. Nimmt sonst Laufzeit und Speicherplatz weg.
Kannst du dann mit WinAVR selber recht einfach probieren. Zwischen Funktionsaufruf und "Inline" Code liegen tlw. Welten.
Gruss
Thomas

🖖
So long, and thanks for all the fish.


102

Donnerstag, 2. Februar 2006, 22:08

Dafür gibt es doch inline-Funktionen ;)

Grüße
Malte

Schileboh

RCLine User

Wohnort: Bern

Beruf: Elektroniker, Lehrling

  • Nachricht senden

103

Donnerstag, 2. Februar 2006, 22:10

Danke, danke für die Willkommensgrüsse :)

Ich habe schon Mikrokontroller programmiert, und das teilweise schon recht ins Detail. In der Schule und im Geschäft programmieren wir den 68HC812 auf einem Mikrokontroller Lehrboard namens Lemps. Das ist extrem lehrreich. Deshalb habe ich ein wenig Programmiererfahrung.

Was mir fehlt, ist ein Mikrokontroller von Grund auf in Betrieb nehmen. Eben gerade wegen Bootlader und so Zeug. Da hab ich noch keine Erfahrung mit. Den ISP-Programmer werde ich nachbauen, wenn möglich schon morgen im Geschäft damit anfangen. Die Unterlagen habe ich mir gedruckt, wenn wir sämtliche Bauteile haben, womit ich stark rechne, habe ich so ein Ding sofort im Betrieb.

Aber wie funktioniert das bei der ersten Programmierung? Oder ist die erste Programmierung gleich, wie alle andern auch? Kann ich den Programmer anschliessen und einfach von zum Beispiel Ponyprog das C-Programm auf den Mega8 laden?

Grüsse aus der Schweiz, würde ich sagen :w
Humor ist, wenn man trotzdem lacht... :ok:

104

Donnerstag, 2. Februar 2006, 22:47

Zitat

Original von DrM
Dafür gibt es doch inline-Funktionen ;)

Grüße
Malte

==[]
Wollte ja nur den Unterschied zwischen C und C darstellen. :D
Gruss
Thomas

🖖
So long, and thanks for all the fish.


105

Donnerstag, 2. Februar 2006, 22:53

@Stefan,
ganz einfache Antwort: Ja. ;)

Du stellst die Fuse Bits einmal so ein wie du sie haben willst. Anschliessend immer nur noch dein Programm ueber den Adapter rueber.

Ob du nun Ponyprog, AVRdude oder sonstwas verwendest ist prinzipiell egal.
Auch der Adapter ist im Grunde genommen wurscht. Ob nun parallel oder seriell ist egal. Hauptsache deine Software unterstuetzt das.

Ich gehe z.B. derzeit mit dem Sercon-2-Mini Adapter dran. Und als Software AT-Prog von Jo Aichinger. Die ersten Tests mit AVRdude 5.0 und einer an den Sercon-2-Mini angepassten conf Datei waren auch schon erfolgreich.
Am Debugging mit AVRStudio bin ich noch dran. Da scheint die neueste Version Spitze zu sein.

Der Kurs hier beschraenkt sich aber erstmal auf BASCOM und WinAVR. Sonst wuerde es schnell chaotisch werden.
Gruss
Thomas

🖖
So long, and thanks for all the fish.


Schileboh

RCLine User

Wohnort: Bern

Beruf: Elektroniker, Lehrling

  • Nachricht senden

106

Donnerstag, 2. Februar 2006, 22:55

Was ist eigentlich eine Inline-Funktion?

Edit: und was sind Fuse-Bits?

Nur um ein wenig sattelfester zu werden... 8)
Humor ist, wenn man trotzdem lacht... :ok:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Schileboh« (2. Februar 2006, 22:57)


107

Donnerstag, 2. Februar 2006, 23:19

Inline:
Wenn du in eine Funktion schreibst und diese aus einem Programm raus aufrufst, macht der Compiler daraus etwas mehr.
Deine Funktion wird irgendwo im Speicher einmal abgelegt. Dein Hauptprogramm muss nun kurz in diese Funktion verzweigen und anschliessend wieder zurueckkehren. Dazu gibt es den s.g. Stack. Auf diesem werden alle Parameter hinterlegt, welche du an die Funktion uebergeben willst. Ausserdem eine Ruecksprungadresse um wieder an den Aufrufpunkt zurueckzukehren.
Sowas ist ideal wenn man strukturiert alles gleichartige nur einmal haben will. Fuehrt aber zu mehr eigentlich unnuetzen Programmteilen.
- Schreibe Ruecksprungadresse auf Stack
- Schreibe Parameter auf Stack
- Springe zu Funktion
- Fuehre Funktion aus
- Lese Parameter vom Stack
...

Inline heisst , das die Unterfunktionen nicht mehr nur einmal im Speicher vorliegen sondern an den benoetigten Stellen direkt in das Programm integriert werden. Bei mehr Speicherplatz Verbrauch wird so eine Funktion nun deutlich schneller ausgefuehrt da die ganze Stack Sache wegfaellt.

War nun vereinfacht erklaert aber hoffentlich anschaulich.

Fuse-Bits:
Hier nur ganz kurz. Schau am besten mal in das Datenblatt des Mega8 rein (kann ich dir schicken falls du es bei Atmel nicht findest).
Beispiel: Du stellst einmal am Mega8 ein, ob er mit einem externen Oszillator oder Resonator arbeiten soll oder mit einer internen Taktfrequenz. Du stellst die Taktfrequenz ein. Du legst fest ob der Programmcode gegen Auslesen geschuetzt sein soll. Usw......

Hilft das?
Gruss
Thomas

🖖
So long, and thanks for all the fish.


108

Donnerstag, 2. Februar 2006, 23:28

Zitat

Original von Schileboh
...
Edit: und was sind Fuse-Bits?
...


Guckst Du hier:
FuseBits

Schau Dir mal am besten die ganzen Grundlagen-Beiträge zur Hard- und Software durch, dann sollte schon vieles klar sein.

Viele Grüße

Torsten
[SIZE=4]www.zuendapp.net - die grösste Zündapp-Community im Internet! :ok:[/SIZE]

Schileboh

RCLine User

Wohnort: Bern

Beruf: Elektroniker, Lehrling

  • Nachricht senden

109

Freitag, 3. Februar 2006, 12:38

Danke für eure Hilfe.

Ich habe gesehen, im Geschäft besitzen wir einen 74LS244 statt den HCT. Ich denke ich baue den Programmer mit diesem Treiber auf, sollte funzen.

Gruss Stefan
Humor ist, wenn man trotzdem lacht... :ok:

110

Freitag, 3. Februar 2006, 13:32

geht genauso.
Gruss
Thomas

🖖
So long, and thanks for all the fish.


Gromit

RCLine User

Wohnort: Baselland

  • Nachricht senden

111

Freitag, 3. Februar 2006, 15:37

Ihr seid schuld ...

Das ich jetzt wieder mit uP anfange :tongue:

Vor bald 20 Jahren hatte ich beruflich Projekte mit 8051 und Z80 realisiert. Da musste man noch Eproms brennen und Speicher und Prozessor miteinander verdrahten. So mal schnell ein Prog machen ging da gar nicht. Von den sauteuren InCircuit Emulatoren ganz zu schweigen. Wenn ich damals so'nen Atmel gehabt hätte .....

Zum proggen brauchts natürlich dieses Interface. Ich werde das Programmer-Interface käuflich erwerben, der Einfachheit halber bei elmicro.com

Zur Auswahl stehen:

AVR-JTAG (seriell) / AVR-JTAG-USB (Name ist Programm)
AVR-PG1 (seriell) / AVR-PG2 (parallel)

Was mir nicht ganz klar ist, welche Interfaces mit welcher Compilersoftware zusammenarbeitet. Zum einen würde ich zuerst mit der WinAVR beginnen, möchte aber später auch den Bascom-Compiler erwerben. Und natürlich habe ich am Notebook KEIN RS232 ;(

Die JTAG's unterstützen auch Realtime Debugging (sicher nur mit WinAVR, oder?)

Was soll ich nehmen, JTAG oder PGx?

112

Freitag, 3. Februar 2006, 19:11

Hallo Uwe,

willkommen im Club... :ok:

Soweit ich das erkennen kann, entspricht der paralelle AVR-PG1-Adapter von elmicro unserem Selbstbau-Adapter hier. Ist eine gängige Schaltung, den gibt´s bei Robotikhardware sogar etwas billiger.

Der Serielle - weiß ich nicht. Wenn´s nur die Low-Budget-Lösung mit ein paar Widerständen ist, wäre der Preis jedenfalls etwas übertrieben... :D

Möchtest Du USB und JTAG, gibt es noch eine Alternative zu Atmel, die einen ganz passablen Eindruck macht:

EBAY

Ich sag´s aber gleich dabei: Ich kenne diesen Adapter nicht aus eigener Erfahrung!

Viele Grüße

Torsten
[SIZE=4]www.zuendapp.net - die grösste Zündapp-Community im Internet! :ok:[/SIZE]

Gromit

RCLine User

Wohnort: Baselland

  • Nachricht senden

113

Freitag, 3. Februar 2006, 21:38

Danke für die Info Thorsten

Ich denke in nehme den von elmicro. es gibt hier in der Schweiz eine Verkaufsstelle, und die liefert mit Rechnung :ok:

Da ich am Notebook noch eine parallele Schnittstelle habe, wird es ein vorerst ein AVR-PG2 sein. Wenn dann die Programme ambitionierter werden, kann ich immer noch die USB-Version besorgen.

114

Freitag, 3. Februar 2006, 21:53

Uwe,
WinAVR ist da nicht der Flaschenhals. Zum proggen wird AVRdude verwendet.
http://savannah.nongnu.org/projects/avrdude/
Die derzeit mit WinAVR ausgelieferte Version ist eine 4er Version. Hat noch Probleme mit den seriellen Programmern.
Schau die aber mal die Version 5 an. Da klappt es auch seriell.
http://savannah.nongnu.org/download/avr/avrdude-5.0-w32.zip

USB kann ich nicht sagen. Hab gerade mal gesucht. Soll prinzipiell gehen, aber nicht ohne weiteres.
Gruss
Thomas

🖖
So long, and thanks for all the fish.


115

Freitag, 3. Februar 2006, 22:40

Hallo Leute,

kurze Info an alle:
Ich werde dieses Wochenende nicht allzuviel Neues bringen können, weil mir ein wenig die Zeit fehlt.

Also, bitte nicht ungeduldig werden, es geht gewiss weiter! :ok:

Viele Grüße

Torsten
[SIZE=4]www.zuendapp.net - die grösste Zündapp-Community im Internet! :ok:[/SIZE]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Torsten_G« (3. Februar 2006, 22:40)


116

Freitag, 3. Februar 2006, 22:44

ist mir nur recht. Vielleicht habe ich dann die Chance ein kleines bisschen aufzuholen.

Hatte leider bisher keine Zeit wirklich alles zu lesen. Wie ist derzeit das Echo bzgl. eigener Experimente?
Frage deshalb, weil ich die naechsten C Teile versuche so aufzubauen das erst eigene Versuche wirklich den Aha Effekt bringen. Ist gar nicht so einfach. :(
Gruss
Thomas

🖖
So long, and thanks for all the fish.


117

Freitag, 3. Februar 2006, 23:02

Hallo Thomas,

das Feedback ist prima soweit.

Ich schreibe ja immer ein paar Topics zum Ausprobieren unter die Programme, bisher scheint das gut zu funktionieren.

Viele Grüße

Torsten
[SIZE=4]www.zuendapp.net - die grösste Zündapp-Community im Internet! :ok:[/SIZE]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Torsten_G« (3. Februar 2006, 23:02)


Schileboh

RCLine User

Wohnort: Bern

Beruf: Elektroniker, Lehrling

  • Nachricht senden

118

Samstag, 4. Februar 2006, 10:30

Mein Programmer ist bis auf die Kabelanschlüsse fertig. Jetzt habe ich eine Frage.

Es kann ja bei falschem Aufbau zu einer Zerstörung des Motherboards des Computers kommen. Mein Computer ist zu teuer um den Programmer auszuprobieren.

Jetzt wollte ich fragen, wann genau diese Zerstörung stattfinden würde. Ist es schon beim ersten Einstecken, oder ist es erst dann, wenn man programmiert.
Ich hätte nämlich noch einen alten PC, der aber gar kein Betriebssystem drauf hat. Je nach dem könnte ich den Programmer dort ausprobieren. Hardwaremässig läufft der PC ja noch wunderbar.

Gruss Stefan
Humor ist, wenn man trotzdem lacht... :ok:

119

Samstag, 4. Februar 2006, 12:13

Installier auf dem alten PC ein Betriebssystem und nutz ihn einfach als Entwicklungs Rechner. Ist doch ideal dafuer.

Ansonsten ob und wann und wie man da was abschiessen kann: Keine Ahnung. Ist mir noch nie passiert. ;)
Gruss
Thomas

🖖
So long, and thanks for all the fish.


Schileboh

RCLine User

Wohnort: Bern

Beruf: Elektroniker, Lehrling

  • Nachricht senden

120

Samstag, 4. Februar 2006, 12:49

Er ist leider Softwaremässig ziemlich auf dem Grund. Er erkennt die Win98 CD nicht mehr. Da hab ich eine Bootsoftware unzipped auf eine Diskette geladen und die zusätzlich in den Computer gesteckt. Er reagiert einfach auf nichts. Vielleicht habt ihr noch ein Tipp.
Sonst wäre das tatsächlich ein guter Experimentiercomputer. Für diesen Zweck würde er allemal reichen.

Wahrscheinlich werde ich den Programmer im Geschäft an dem Schrott-PC hinter dem Bücherregal testen. In dieser Abteilung wäre ich übrigens nicht der erste, der dem Herrgott ein Motherboard opfert...

Gruss Stefan
Humor ist, wenn man trotzdem lacht... :ok: