Forum: Mikrocontroller und Digitale Elektronik uC Einsteiger mit ein paar Fragen


von Matthias T. (matthias_199)


Lesenswert?

Ja also jetzt nach den Abi hab ich Zeit mich mehr mit der Technik des uC 
zu beschäftigen.
Als erstes will ich mir die beiden zulegen.

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=360349860871&var=630011841437&fromMakeTrack=true&ssPageName=VIP:watchlink:top:de

http://cgi.ebay.de/Steckbruckenset-350-Bruckenset-Experimentierboards-/150569304737?_trksid=p4340.m263&_trkparms=algo%3DSIC%26its%3DI%26itu%3DUCI%252BIA%252BUA%252BFICS%252BUFI%252BDDSIC%26otn%3D6%26pmod%3D360349860871%26ps%3D63%26clkid%3D153417404481632769

Gibt es bei dem Kabel und Steckbrett noch etwas was es zu beachten gilt?

Dann was ist den für den Anfang ein guter Controller?

Und vor allem was ist das richtige Kabel dafür es gibt ja ja ganz 
verschiedene, wie ich gelesen habe z.B. JTAG I bzw. II usw.

Und das Bascon ist das mit einer Kostenpflichtige Lizenz verbunden oder 
nicht?

Was ich mir gleich als anfangs Ziel gesetzt habe ist eine 3x7 Segment 
Anzeige für meine paintball Waffe.
Also ein ganz simpler 3 Stelliger dezimalzähler, der runter zählen soll 
um 1 wenn ein Signal kommt.
da werde ich ja wohl schon mit IICs arbeiten müssen sehe ich das 
richtig?

Ist das für den anfangs schon zu schwer oder ist es für nen Einstieg ein 
gutes Projekt?

MFG Matthias

von Peter D. (peda)


Lesenswert?

Links oben:

Home
AVR

Einfach anklicken und lesen.


Peter

von Weingut P. (weinbauer)


Lesenswert?

Matthias T. schrieb:
> Ja also jetzt nach den Abi hab ich Zeit mich mehr mit der Technik des uC
> zu beschäftigen.
> Als erstes will ich mir die beiden zulegen.
>
> 
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=360349860871&var=630011841437&fromMakeTrack=true&ssPageName=VIP:watchlink:top:de
>
> 
http://cgi.ebay.de/Steckbruckenset-350-Bruckenset-Experimentierboards-/150569304737?_trksid=p4340.m263&_trkparms=algo%3DSIC%26its%3DI%26itu%3DUCI%252BIA%252BUA%252BFICS%252BUFI%252BDDSIC%26otn%3D6%26pmod%3D360349860871%26ps%3D63%26clkid%3D153417404481632769

passt, hab damit auch angefangen, geht gut.

> Gibt es bei dem Kabel und Steckbrett noch etwas was es zu beachten gilt?

feindrähtige Litze will nicht ins Steckbrett ... ansonsten ... hmmm

> Dann was ist den für den Anfang ein guter Controller?

ATMega8, ATMega32, ATTiny2313

> Und vor allem was ist das richtige Kabel dafür es gibt ja ja ganz
> verschiedene, wie ich gelesen habe z.B. JTAG I bzw. II usw.

JTAG wirst Du kaum gebrauchen können, vorallem nicht wenns unter Bascom 
gehen soll. Ich rate aber dennoch zu den Atmeleigenen Programmern, also 
den AVR ISP MK2, habe einfach gute Erfahrungen damit gemacht.

> Und das Bascon ist das mit einer Kostenpflichtige Lizenz verbunden oder
> nicht?

Du kannst Bascom herunter laden und einen Code schreiben der maximal 4kb 
groß sein kann, ohne nen Pfennig zu investieren. Zum Vergleich, der 
ATmega8 hat 8kb Programmspeicher, davon also 50% ... da kann man schon 
was bewegen. Für größere Codes brauchts dann die Lizenz, aber die ist 
auch vergleichsweise günstig zu anderen kommerziellen Compilern.

> Was ich mir gleich als anfangs Ziel gesetzt habe ist eine 3x7 Segment
> Anzeige für meine paintball Waffe.
> Also ein ganz simpler 3 Stelliger dezimalzähler, der runter zählen soll
> um 1 wenn ein Signal kommt.
> da werde ich ja wohl schon mit IICs arbeiten müssen sehe ich das
> richtig?

Nein, 3x7-Segement kann n Mikrocontroller nebenbei multiplexen ... 
daneben kann er noch Kaffee kochen und La Paloma pfeifen :)

> Ist das für den anfangs schon zu schwer oder ist es für nen Einstieg ein
> gutes Projekt?

Anfangen mit LED blinken lassen, die nächste Stufe wäre dann schon 
eventuell ne 7-Segement-Anzeige. Kann man so machen.

> MFG Matthias

ebenso MFG Weinbauer

von Matthias T. (matthias_199)


Lesenswert?

Ah Okey danke soweit ich bestelle dann später die beiden sachen wenn ich 
se nicht beim Mükra (Elektronik) bei uns in der Stadt finde.

Das
http://www.watterott.com/de/Atmel-AVR-ISP-MKII-USB
werde ich wohl so oder so bestellen müssen da das der mükra glaub nicht 
hat :D

Passt der Preis oder ises zuviel da für?
Wie gesagt erfahrung um das einzuschätzen fehlt halt.


Das mit dem Multiplexen is auch sehr interesannt.
Wobei es eben zu bedenken gilt, dass es eine paintbal Waffe ist.
Also kann man da nich so gut Sachen unterbringen.
bzw viel an einem Platz, deshalb meine Idee mit den IICs,denn viel kabel 
dur ne Waffe ziehen wäre nicht so elegent.
Aber das hat noch zeit.

von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:

> Das
> http://www.watterott.com/de/Atmel-AVR-ISP-MKII-USB
> werde ich wohl so oder so bestellen müssen da das der mükra glaub nicht
> hat :D

35 Euronen ist ein vernünftiger Preis.
Eventuell könnte man das Teil auch etwas billiger finden, aber im Grunde 
ist es die 35€ Wert.

> Das mit dem Multiplexen is auch sehr interesannt.
> Wobei es eben zu bedenken gilt, dass es eine paintbal Waffe ist.
> Also kann man da nich so gut Sachen unterbringen.

Mein Tip:
Behalte deine Paintball Anwendung im Hinterkopf und lerne erst mal mit 
dem µC umzugehen. Und wenn es dann soweit ist (in ein paar Monaten), 
dann kramst du deine Idee wieder hervor.
ABer bis dahin hast du viel zu lernen

AVR-Tutorial
AVR-GCC-Tutorial

> bzw viel an einem Platz, deshalb meine Idee mit den IICs,denn viel kabel
> dur ne Waffe ziehen wäre nicht so elegent.
Gerade der Kabelverhau reduziert sich durch das Multiplexen :-)

von ich (Gast)


Lesenswert?

Matthias T. schrieb:
> Dann was ist den für den Anfang ein guter Controller?

Ohne eine Diskussion starten zu wollen, sollte man fairerweise Erwähnen, 
dass es neben AVRs noch PICs und µC von Motorola gibt. Es hat jeder 
seine Vor- und Nachteile. Du kannst dich natürlich für den AVR 
entscheiden. Solltest du planen eine Ausbildung zum EGS (Elektroniker 
für Geräte und Systeme) ist Deutschlandweit der PIC16F Grundlage und 
Bestandteil der Prüfungen. Man kann natürlich immernoch AVRs nebenbei 
machen, aber um es in der Ausbildung einfacher zu haben und wenn man 
sowieso vorher schon was mit µCs machen will, könnte man gleich den PIC 
nehmen. Solltest du nicht planen die Ausbildung zu machen, nimm den AVR, 
da haste schon was rausgesucht.


Matthias T. schrieb:
> Ist das für den anfangs schon zu schwer oder ist es für nen Einstieg ein
> gutes Projekt?

Zu Anfang ist das blinken lassen von LEDs schon "schwer", wenn man kein 
Tutorial "abschreibt". Arbeite dich erstmal hoch, wie Karl Heinz 
Buchegger schon meinte.

von Gero N. (geronimo76)


Lesenswert?

ich hab damals auch mit PIC's angefangen, und arbeite immer noch mit 
ihnen ,,, vor allem hat mich die seite von SPRUT dazu bewegt ,,, sehr 
gelungene Ansammlung an Einsteigertipps, Grundlagen und Bastelbeispielen 
...

http://www.sprut.de

von NopNop (Gast)


Lesenswert?

Und wie immer empfehle ich Dir an dieser Stelle ein fertig aufgebautes 
Board als Einstieg zu benutzen. Man tut sich als Anfänger (vor allem 
wenn man nicht nen elektrotechnischen Hintergrund hat) um einiges 
einfacher und muss nicht ständig suchen warum es momentan mal wieder 
nicht geht.

So schön die Breadboards auch sind um mal kurz was auszuprobieren...es 
kommt trotzdem vor dass entweder absichtlich oder unbeabsichtigt eine 
Leitung mal rausrutscht o.ä. und dann sucht man als Anfänger evtl. ewig 
bis man den Fehler gefunden hat.

Wenn Du einen Studenten kennst der Dich mit seiner 
Matrikulationsbescheinigung unterstützen kann...dann kannst Du auch mal 
da nachschauen:
http://student.embedded-projects.net/


Grüße

von Weingut P. (weinbauer)


Lesenswert?

Hatte AVRs empfohlen weil er Bascom aufführte, für PIC wär's dann
PIC-Basic soweit ich weiß ... bin da aber nicht ganz im Bilde :)

von Matthias T. (matthias_199)


Lesenswert?

Ja also mega viel danke für die Infos.
vlt hab ich euch auch etwas raten lassen deshalb sag ich etwas mehr :D
Also Beruflich will ich nichts damit machen.
(Obwohl ich ein Mechatronik Studium tiefe Elektronik durchaus 
überlegenswert finde, da werden die uC ja wieder für mich sogar richtig 
wichtig?)
Das soll eigentlich Hobby werden.
Wie gesagt bin ich mit dem Abi fertig ist aber ein Technisches Abi, also 
denke ich, hoffe ich alles andere wäre ja Peinlich, dass ich die 
Schaltungen schon nachbauen kann.
Des Weiteren hab ich für die ESL (Electronic Sports League) auch schon 
ein Tool in einer Interpetersprache gemacht.
Und hatte 2 Jahre lang C++ in der Schule.
Also vermute ich, dass ich auf die Basis aufbauen können sollte.

Und ich hab über Bascon geredet weil das zuerst hier
http://www.dieelektronikerseite.de/
gefunden habe und da auch sehr gut erklärt ist.
Und ich den Bascon Syntax eigentlich sehr verständlich fand.

In euren TUTs wird ja viel mit Assembler gearbeitet?
Mir ist schon klar, dass das schnellste überhaupt ist.
Bloß weiß ich nicht 100% ob ich damit arbeiten soll, will, es nötig 
wird.

Mfg Matthias

von Harry S. (kleinerbastler)


Lesenswert?

Also wenn Du schon 2 Jahre Erfahrung mit C++ hast, warum bleibst Du dann 
nicht bei C als Programmiersprache?

Es gibt z.b. gnuCC mit Libs für die AVRs, und mit z.b. avrdude kann man 
die uCs auch programmieren.

von Matthias T. (matthias_199)


Lesenswert?

Weil ich interesannt finde mehr zu lernen^^
Und um ehrlich zu sein der Bascon Synatx ist doch sehr Assembler Ähnlich 
?
So von meinem empfinden.
Könnte das kein schönes Sprungbrett für Assembler sein?

von ich (Gast)


Lesenswert?

Matthias T. schrieb:
> Und um ehrlich zu sein der Bascon Synatx ist doch sehr Assembler Ähnlich ?

Naja... Soweit ich weiß, gibt es in Bascon sowas wie Schleifen und 
Bedingungen, das gibts bei ASM nicht. Deshalb würde ich persönlich mit 
ASM anfangen und Simple Programme schreiben, wie z.b. das Lauflicht. 
Wenn du dann ein bisschen mit den Modulen und der allgemeinen Hardware 
warm geworden bist, kann man auf eine Hochsprache wechseln, um dann 
leichter anspruchsvollere Anwendungen zu programmieren. Es geht alles in 
ASM, jedoch spart man sich bei Hochsprachen Nerven und Zeit ;)

Du kannst aber sagen, das man von ASM leicht auf Bascon wechseln kann, 
aber auf C umsteigen ist glaube auch nicht soo viel schwerer.

von Matthias T. (matthias_199)


Lesenswert?

Ich glaub alles hat seine vor und nachteile...
Naja bord ist jetz da mit avr und LEDs ich warte jetz auf den programmer 
den hatten die leider net.
Solange kann ich ja noch weiterlesen und mich festlegen.

Wegen der Schleife.
ASM hat ja wirklich keine Schleifen.
Aber es gibt doch jump bzw goto?
Damit kann man sich doch was basteln?

von minifloat (Gast)


Lesenswert?

Matthias T. schrieb:
> Wegen der Schleife.
>
> ASM hat ja wirklich keine Schleifen.
>
> Aber es gibt doch jump bzw goto?
>
> Damit kann man sich doch was basteln?

Aus bedingten Sprunganweisungen kann man sich Schleifen bauen.

Ein Einfacher Jump kommt eigentlich nur in switch() Anweisungen oder bei 
If-Blöcken, wenn es ein else gibt. Verwenden von diesen GoTos ist aber 
nach wie vor verpönt, oder ist das in den 2 Jahren C++ an dir 
vorbeigegangen? Spaghetticodegefahr.

mfg mf

von ich (Gast)


Lesenswert?

Matthias T. schrieb:
> Aber es gibt doch jump bzw goto?
> Damit kann man sich doch was basteln?

Also ich kann jetzt nur von PIC reden, da ich die bisher nur 
programmiert habe. Da gibts bei ASM einen goto Befehl, mit dem man den 
Program-Counter setzen kann. Zudem gibt es ein Programm, mit dem man 
Bits (unter anderem auch das Carry oder Zero Flag) testen kann. Wenn 0, 
überspringe den nächsten Befehl oder wenn 1, überspringe den nächsten 
Befehl (BTFSS und BTFSC). Damit kann man sich dann eine Bedingung oder 
Schleife bauen. Nichts anderes macht ja z.B. der C-Compiler. Der 
übersetzt das quasi in ASM, und gleichzeitig in Hex. Bei vielen 
Compilern kann man auch die ASM Datei ausgeben lassen. Doch vergleich 
mal den Code für eine simple if:

C-Code:
1
if(PORTB==0xFF){
2
     PORTA=0xAA;
3
}

ASM-Code:
1
MOVF        PORTB, 0 
2
XORLW       255
3
BTFSS       STATUS, Z
4
GOTO        L_main0
5
MOVLW       170
6
MOVWF       PORTA
7
L_main0:
8
.....

Übersicht und Länge ist beim C-Code ja eindeutig besser. Bloß zum 
Kennenlernen vom Controller ist ASM besser. Bei C z.B. wüsstest du in 
dem Fall garnicht, das es ein Zero-Flag gibt ;)

von ich (Gast)


Lesenswert?

ich schrieb:
> Zudem gibt es ein Programm,

oh, ich mein natürlich ein Befehl

von Matthias T. (matthias_199)


Lesenswert?

minifloat schrieb:
> oder ist das in den 2 Jahren C++ an dir
> vorbeigegangen?

Natürlich nicht! mir ist durchaus auch der ausdruck bewusst:
GOTO <Label bzw Sprungmarke> //Begründung und Entschuldigung
Aber wir reden ja auch gerade von ASM da gibts eben nix besseres soweit 
ich weiß?

@ich
Du wirst vollkoemmen recht haben blos im moment verstehe ich das noch 
nicht :D

von spess53 (Gast)


Lesenswert?

Hi

> Verwenden von diesen GoTos ist aber nach wie vor verpönt, oder ist das in
>den 2 Jahren C++ an dir vorbeigegangen? Spaghetticodegefahr.

Na und. Der 'Spagetticode' kann aber durchaus mal das geeignete Mittel 
sein. Nämlich wenn er signifikante Geschwindigkeitsvorteile bringt.

MfG Spess

von Uwe (Gast)


Lesenswert?

Bei Mikrocontrollern kommt es hauptsächlich darauf an wie gut man die 
Hardware versteht. Wenn du schon C kannst gut. Aber für den Einstieg 
(Also  um die Hardware richtig zu kennenzulernen) würde ich Assembler 
empfehlen.
Auch die Allgemeine Architektur von CPU,Speicher,IO 
Subsystem,Interupts,Peripherie,DMA usw. im PC bringt dir unheimlich viel 
Verständniß für Mikrocontroller. Dann ist der Einstieg in Komplexere 
Mikros wie ARM,MIPS,PPC ein leichtes.

von ich (Gast)


Lesenswert?

Matthias T. schrieb:
> Du wirst vollkoemmen recht haben blos im moment verstehe ich das noch
> nicht :D

is ja auch nicht so schlimm ;) Du lernst mit ASM die Hardware und 
Struktur vom µC besser, jedoch wenn du schon C++ gewöhnt bist, wird es 
ein mehr oder minder großer Rückschritt sein. Das heißt aber auf der 
anderen Seite, dass du eine simple Programmiersprache schneller lernst. 
Es gibt keine richtigen Datentypen (ansich nur 8bittige Zahlen, also von 
0 bis 255), keine Klassen, Objekte, etc.... Sowas in der Art wie 
Funktionen gibt es, die kannst du mit einem Befehl aufrufen und der µC 
speichert sich die Adresse vom Program Counter zwischen, damit er danach 
wieder dahin findet (siehe Stack). Aber wie gesagt, das lernt man alles, 
und wenn man dann mit ein paar Sachen rumgespielt hat, kann man auf die 
Hochsprache seiner Wahl wechseln. Sollte man dann aus zeitkritischen 
Gründen auf ASM zurückgreifen müssen, ist man nicht gleich mit was 
Fremden konfrontiert.

von Matthias T. (matthias_199)


Lesenswert?

ah ja das ASM hat aber ein problem mekre ich gerade,
Den um es auszuspielen brauche ich ja yaap.
Aber DLPortIO Driver den wiederrum yaap benötigt lässt sich unter win 7 
64 bit nich installieren.

von ich (Gast)


Lesenswert?

Egal mit welcher Sprache du programmierst, du musst eine hex-Datei auf 
deinen µC "brennen" / "programmieren". Und das machst du mit dem 
Programmiergerät. ASM kannst du mit nem normalen Texteditor a la Notepad 
oder Notepad++ programmieren und n Compiler sollte sich zu hauf finden. 
Ich glaub du verwechselst da was ;)

von spess53 (Gast)


Lesenswert?

Hi

>ah ja das ASM hat aber ein problem mekre ich gerade,
>Den um es auszuspielen brauche ich ja yaap.
>Aber DLPortIO Driver den wiederrum yaap benötigt lässt sich unter win 7
>64 bit nich installieren.

Was haben Programmer und Programmiersprache miteinander zu tun? Und für 
Anfänger würde ich sowieso von diesen Bastelprogrammern abraten.

MfG Spess

von Matthias T. (matthias_199)


Lesenswert?

Ja gut das hab ich halt von hier.
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Assembler

Weil ich hab mir jetz das Bascom AVR und AVR-Studio geladen und 
isntalliert.
Und für letzteres braucht man ja yaap um die erzeugte hex datei auf den 
uC zu "brennen",
Bascom hat das ja "onbord" wenn ich es richtig verstanden habe?

von Peter D. (peda)


Lesenswert?

spess53 schrieb:
> Na und. Der 'Spagetticode' kann aber durchaus mal das geeignete Mittel
> sein. Nämlich wenn er signifikante Geschwindigkeitsvorteile bringt.

Nö, auch dann schreibt man sein Programm modular, wie es sich gehört.
Und deklariert die Funktionen einfach als Inline.
Dann macht erst der Compiler den gewünschten 'Spagetticode' daraus.
Deine Source sieht aber weiterhin schön übersichtlich aus und bleibt 
wartbar.


Peter

von ich (Gast)


Lesenswert?

"Zuerst braucht man einen Assembler, der in Assemblersprache 
geschriebene Programme in Maschinencode übersetzt. Windows-User können 
das AVR-Studio von Atmel verwenden"

Wenn du fertig bist, hast du deine Hex-Datei. Diese musst du auf den AVR 
kriegen, mit einem Programmiergerät... Welches da empfehlenswert ist, 
muss dir jemand anderes sagen ;) Aber entweder ist da eine Software 
dabei oder er wird von der AVR-Studio-Software unterstützt. In beiden 
fällen musst du natürlich prüfen, ob es mit Win7 64bit kompatibel ist, 
sollte es aber bei gescheiten.

von spess53 (Gast)


Lesenswert?

Hi

>Nö, auch dann schreibt man sein Programm modular, wie es sich gehört.
>Und deklariert die Funktionen einfach als Inline.
>Dann macht erst der Compiler den gewünschten 'Spagetticode' daraus.
>Deine Source sieht aber weiterhin schön übersichtlich aus und bleibt
>wartbar.

Es geht um reinen Assembler ! Und da entscheide ich wie das Programm 
aussieht und nicht ein neugescheiter Compiler.

MfG Spess

von Weingut P. (weinbauer)


Lesenswert?

Sowhl Bascom als auch das AVR-Studio kann direkt mit dem AVR-ISP-MK2 
kommunizieren und mittels diesem dann das Hex auf den AVR flashen.

In Bascom kann man so man das will mit inline-ASM ganz komfortabel 
arbeiten finde ich. Die Grundkonfiguration (konfiguration der ISR, UART 
etc.) des µC kann man in "Hochsprache" vornehmen und dahinter in der 
Mainloop sein "Hauptprogramm" in ASM proggen ... finde ich persönlich n 
recht attraktiver Mittelweg.

von Matthias T. (matthias_199)


Lesenswert?

Ah okey den so wie ich es verstanden habe kann das avr studio nicht ...
Aber es kann es wohl doch also hat sich das von selbst gelöst.

Aso der uC der jetz schon auf bem bord sitzt ist ein ATMEGA8-16PU

für was genau steht denn das 16PU?

von spess53 (Gast)


Lesenswert?

Hi

>für was genau steht denn das 16PU?

http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf

S.336.

Das Datenblatt und nicht das Forum ist der erste Anlaufpunkt.

MfG Spess

von Matthias T. (matthias_199)


Lesenswert?

Ah okey also ist das sowas wie eine neuere version kommt das hin?
Vlt nicht neu aber eine etwas andere?

von spess53 (Gast)


Lesenswert?

Hi

>Ah okey also ist das sowas wie eine neuere version kommt das hin?
>Vlt nicht neu aber eine etwas andere?

Nein. Der ATMega16 ist und bleibt steinalt

-> 16MHz/4.5V - 5.5V/PDIP-Gehäuse/-40oC to 85°C/bleifrei

MfG Spess

von Johannes F. (Gast)


Lesenswert?

Matthias T. schrieb:
> Ah okey also ist das sowas wie eine neuere version kommt das hin?
> Vlt nicht neu aber eine etwas andere?

ATmega16-16PU
           __
         __ |
          | |
          | |-- Gehäuse
          |---- Taktfrequenz [MHz]

Johannes

von Matthias T. (matthias_199)


Lesenswert?

ja moment es ist ein ATMEGA8-16PU
nicht ATMEGA16-16PU

wobei wenn ich drüber nachdenke ist das wohl egal ?
Für das beispiel meine ich

von 2ter Gast (Gast)


Lesenswert?

Vielleicht sollte der Thread-Ersteller auch an ein günstiges Dev-Board 
denken, um die ersten Hürden zu nehmen.

Auch wenn die Wahl wohl auf die AVRs fällt, würde ich momentan MSP430 
und TI Launchpad für 4,30 US-D empfehlen. Das ist ein Dev-Board und 
Debugger in einem und wird über USB an den PC angeschlossen. Zwei uC 
sind ebenfalls dabei. TIs IDE ist in der freien Version aber auf 16KB 
begrenzt. Ansonsten gibt es einen kostenlosen gcc compiler.

Ach ja wenn bei TI direkt bestellt, bekommt man den sogar noch ohne 
Versandkosten. Macht dann je nach Kurs 3EUR.

von Matthias T. (matthias_199)


Lesenswert?

Okey alles da Aber ich kann mit bascom keine verbindung aufbauen.
Ich vermute das Bascon falsch eingestellt ist.
Ich habe ih auch schon auf AVR ISP MK2 eingestellt aber was muss ich da 
noch alles einstellen?

von Eingehirner (Gast)


Lesenswert?

Da ich auch in die Kategorie "Blutiger Anfänger" falle, kann ich ja auch 
mal meine ersten Erfahrungen teilen.

Anfangs war alles sehr frustrierend, bis der Controller lief, weil ich 
ein Breadboard/Steckbrett verwendet hab und darauf den Taktquarz stecken 
hatte... Meine Empfehlung für den Anfang wäre auch: Entweder ein 
vorgefertigtes Brett (STK500?) oder sich selber eine Grundbeschaltung 
mit Experimentierplatine basteln (es gibt Experimentiersockel für 
DIL-40, aus denen man den AVR auch wieder rauskriegt). Anfangs ist der 
schnelle externe Takt nicht so wichtig wie das korrekte Funktionieren! 
Da kann man einfach das interne RC-Glied nehmen. Eine Fehlerquelle 
weniger.

Ansonsten hab ich nicht mit LED-Blinken angefangen und es später bereut 
;) Für den Anfang ist das die beste Methode, um zu kontrollieren, daß 
überhaupt mal die Hardware stimmt. Alles andere kann dann direkt danach 
kommen, wenn du schon C++-Erfahrung hast (ich komm auch aus der 
Fortran77/C/C++-Ecke und hatte mit Assembler nur wenig Schwierigkeiten, 
ich würde Geschmacksfrage kein BASCOM nehmen). Mit Assembler kriegst 
du sehr schnell den Drive raus und die Fehler sind "grundlegender" als 
bei C.

Die Grundbeschaltung kannst du den Tutorien entnehmen, nur als 
Checkliste:
- 100nF-Kondensator zwischen VCC und GND (weniger als 2cm vom AVR weg) 
gegen Schwankungen
- Pull-Up vom RESET-Pin zu VCC (ich hab 1kOhm, klappt gut)
- AVCC mit VCC verbunden
- AREF über 100nF mit AVCC verbunden (weniger als 2cm vom AVR weg)
- "A"GND an GND (rechter mit linkem GND-Pin) verbunden

Für mich hat sich bewährt, ein paar gedrehte IC-Sockel längs 
auseinanderzuschneiden und als Mini-Steckbrett für die Pins des AVR zu 
verwenden, so mußt du nicht ständig die Platine umlöten. Außerdem hab 
ich sehr schnell auf einen 7805 als Spannungskonstanter geupgradet ;) 
Die Platine ist damit noch lang nicht voll und du schaltest eine weitere 
Fehlerquelle aus.

Anfangs ist die empfundene Unmenge an Bauteilen NEBEN dem AVR etwas 
abschreckend, aber glaub mir, sie sind NÖTIG. Meine Punktraster-Platine 
enthält aktuell:
- den AVR ATMega8535 auf Experimentiersockel (8535 ist für den Anfang 
der TOTALE Overkill, nimm den ATTiny2313, der ist deutlich handlicher 
und man kann schon ein LCD damit ansteuern)
- die Koppelkondensatoren zwischen VCC/GND und AVCC/AREF
- eine 6-Pin-Wanne für den Programmer-Pfostenstecker
- den 7805 mit zwei 10µF-Elkos für konstante 5V
- ein Spannungsinverter ICL7660 mit den ihm zustehenden Kondensatoren
- ein aufgeschnittener DIL-10-Sockel als Steckplatz für das DG-12232 von 
Pollin (oder andere Bauteile), angelötet an die Pins PC0-7/PA0-5, VCC, 
GND und -VCC (Kontrastspannung LCD)
- tausend Kabel (YV-Schaltdraht, keine Litze -- besser zum Löten!)

Damit kommst du schon ziemlich weit und hast >3 Monate Spaß am 
Programmieren, bevor Änderungen notwendig werden. Der Vorteil am 8535 
ist, du hast zwei ganze Ports für "Spezialaufgaben" deiner Wahl und 
kannst PB0-7 (für die ISP) und PD0-7 (für Timer, ext. Interrupts etc) 
erstmal freilassen. Beim Tiny2313 ist es etwas beengter, da kommen 
schnell die Grenzen.

Strom kriegt das Teil aus einem alten 12V-Netzteil mit 100µF-Elko als 
Glättungskondensator. Ich kann dir gern mal Foto und Schaltplan 
schicken, wenn's dich interessiert.

von Matthias T. (matthias_199)


Lesenswert?

Hey leute wenn man Spannungsregler in meinem fall der 7805.
Falsch Polt als + an - und - an + anstadt ++ und -- kann er debei kaput 
gehen?

Oder kann soagr der ganze ATMEGA8 dabei kaputt gehen?

von Hannes L. (hannes)


Lesenswert?

Matthias T. schrieb:
> Hey leute wenn man Spannungsregler in meinem fall der 7805.
> Falsch Polt als + an - und - an + anstadt ++ und --

Kaum eine Elektronik mag es, verpolt zu werden. Es sei denn, der 
Entwickler der Schaltung hat für diesen Fall vorgesorgt.

>
> Oder soagr der ganze ATMEGA8 dabei fölten gehe kann?

Lass' es lieber bleiben, nimm Deine Knalle und schieß' die Leute bunt... 
;-)

...

von Matthias T. (matthias_199)


Lesenswert?

NE! ich will das nicht nur wegen der Knarre ich wollt schon länger damit 
anfangen :)
Aber wenn die zeit und eine sinnvolle aplikation dafür fehlen fängt auch 
kein mensch damit an!
Deshlab renn ich zum mükra und hol mir nomma einoder zwei ^^ 
spannungsregler weil es doch schwer danach ausieht als ob er flöten 
gegangen ist.
Wäre es später in der richtigen schlatung nicht denkbar ne diode da 
reinzusetzen?
Das gerade so etwas nicht passieren kann?

@Hannes ich weiß ja nicht was bei dir alles so am anfang kaputt gegangen 
ist :)

von Johannes F. (Gast)


Lesenswert?

Eingehirner schrieb:
> AREF über 100nF mit AVCC verbunden (weniger als 2cm vom AVR weg)

Nicht gegen VCC, sondern gegen GND.
Siehe 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Selbstbau

Matthias T. schrieb:
> spannungsregler weil es doch schwer danach ausieht als ob er flöten
> gegangen ist.

Bei Verpolung ist er ganz sicher kaputtgegangen.

Matthias T. schrieb:
> Wäre es später in der richtigen schlatung nicht denkbar ne diode da
> reinzusetzen?

Ja. Es gibt auch kompliziertere Alternativen:
http://www.lothar-miller.de/s9y/categories/39-Verpolschutz
http://www.elektronik-kompendium.de/sites/slt/1206251.htm

Grüße
Johannes

von Matthias T. (matthias_199)


Lesenswert?

Ja ist jetz alles da und Vorallem scheint es zu gehen :D
Also die programme sagen zwar das es nicht geht aber der LED vom MK2 ist 
grün davor war sie immer rot heißt der MKII hat wohl erkannt das da was 
ist.

ich versuche ihn mal jetz das programm zu konfigurieren dan sollte es 
rennen

von Hannes L. (hannes)


Lesenswert?

Matthias T. schrieb:
> @Hannes ich weiß ja nicht was bei dir alles so am anfang kaputt gegangen
> ist :)

Sehr wenig, denn zu dem Zeitpunkt, als ich begonnen habe, mich mit 
Mikrocontrollern (nur AVRs) zu beschäftigen, hatte ich schon ein paar 
Jahrzehnte Bastelerfahrung und auch schon etwas Erfahrung (Hardware und 
Software) mit 8-Bit-Rechnern (Commodore Plus/4).

Probleme gab es trotzdem, denn außer der Kopie einer Atmel-CD mit 
AVR-Studio, Datenblättern und Appnotes hatte ich mangels Internet-Zugang 
erstmal keinerlei Infos. Ein befreundeter Student brachte mir von der 
Uni zwar ein paar Disketten voller Alternativ-Software (Ponyprog und ein 
paar andere Programmiertools mit Hinweisen zur selbst zu bastelnden 
Hardware), das ging aber alles nicht. Und niemand wies darauf hin, dass 
das Zeugs so am Limit betrieben wird, dass es hinter einem 
LPT-Umschalter nicht mehr funktioniert. Daher griff ich zum Eigenbau 
eines LPT-Programmers, und zwar Hardware und Software (DOS-basierendes 
QBASIC). Das wird aber inzwischen nicht mehr benutzt und auch nicht mehr 
gepflegt, es hat mir aber sehr beim Verständnis der Zusammenhänge 
geholfen. Und das alles, ohne andere Leute (z.B. im Netz) zu fragen. 
Inzwischen nutze ich das STK500 und gelegentlich mal den Dragon, das 
AVR-Studio (nur ASM), und gelegentlich Bascom, wenn ich mal einfache 
Programme für jemanden schreibe, der BASIC besser versteht als 
AVR-Assembler. Falls Dich das wirklich interessiert, kannst Du ja mal 
bei www.hanneslux.de vorbei schaun.

Hannes Lux schrieb:
> Lass' es lieber bleiben, nimm Deine Knalle und schieß' die Leute bunt...
> ;-)

Dies schrieb ich auch unter dem Aspekt, dass Du irgendwo hier auch 
geschrieben hast, dass Dir eigentlich auch die Zeit dazu fehlt. Ja, 
hier:

Matthias T. schrieb:
> Aber wenn die zeit und eine sinnvolle aplikation dafür fehlen fängt auch
> kein mensch damit an!

Du brauchst aber viel Zeit und Elektronik-Grundwissen, wenn Du Dich 
ernsthaft mit Mikrocontrollern beschäftigen willst. Hast Du die/das 
nicht, wird es mangels Erfolge frustrierend, dann solltest Du es lassen. 
Es muss nicht jeder alles können. Trotzdem freut es mich, dass Du anhand 
meines Spruches nicht den Beleidigten spielst.

Mein Vorschlag: Kauf Dir einen vernünftigen ISP-Programmer, der vom 
AVR-Studio unterstützt wird. Z.B. den AVR-ISP-MK II von Atmel. Dieser 
kann per Firmware-Update aktualisiert werden, wenn neue 8-Bit-AVRs auf 
den Markt kommen. Ein Steckbrett für Experimente ist nicht schlecht, für 
finale "Geräte" tut es anfangs Lochraster-Platine. IC-Fassungen nicht 
vergessen.

Übrigens: 1k als Reset-PullUp ist zu klein, es sollten schon 3k bis 10k 
sein. Nicht jeder Programmer schaft es, bei 1k den Reset-Pegel sauber zu 
halten.


Matthias T. schrieb:
> NE! ich will das nicht nur wegen der Knarre ich wollt schon länger damit
> anfangen :)

Viel Erfolg...

...

von Matthias T. (matthias_199)


Lesenswert?

Okey ich hab nur ein 1K drinnen und Steckbrett und so hab ich auch 
inklusive dem MKII.
Beleidigt nö warum?
Und ich hab geschrieben ich hatte nicht die zeit ... jetz habe ich sie.
Aber leider gottes vermute ich das der AVR auch durch ist,
Denn er wird extrem heiß,
So heiß das man ihn nicht mehr anfassen kan ....
Schade muss wohl ein neuer her^^

von Hannes L. (hannes)


Lesenswert?

Matthias T. schrieb:
> Okey ich hab nur ein 1K drinnen und Steckbrett und so hab ich auch
> inklusive dem MKII.

Sorry, ist mir entfallen, habe den Thread kleckerweise gelesen und nicht 
in einem Rutsch.

> Beleidigt nö warum?

Gut, das sehen einige Leute aber anders...

> Und ich hab geschrieben ich hatte nicht die zeit ... jetz habe ich sie.

Schön.

> Aber leider gottes vermute ich das der AVR auch durch ist,
> Denn er wird extrem heiß,
> So heiß das man ihn nicht mehr anfassen kan ....

Das darf nicht sein, auch wenn er noch so schwer schuften muss.

> Schade muss wohl ein neuer her^^

Ja sicher.

Noch'n Tip: Gewöhne Dir an, Datenblätter zu den verwendeten Bauteilen 
herunterzuladen und zu lesen. Auch bei so einfachen ICs wie 7805. Da 
sind oft recht nützliche Informationen drin, die das Sterben der 
Bauteile verhindern können. Für AVR-Testschaltungen bevorzuge ich den 
78L05 (Strombegrenzung auf Überleb-Niveau) oder am Steckbrett 4 
NiMH-Akkus und eine Glühlampe (etwa 6V/100mA) als Sicherung in Reihe.

...

von Matthias T. (matthias_199)


Lesenswert?

Da ich niicht mehr als 15 min editieren darf lade ich shalt in dem post 
hoch.

http://www.dark-clan-bf2.de/14_Open_Webspace/01.jpg

Unten Messe ich 5.02V
Oben Messe ich 9.30V

Also als ich das Teil verpolt habe hat der AD Wandler das voll 
mitbekommen.
Wenn ich ih in den Strok stecke wird er sofort von der mitte aus heiß 
vlt 10 Sekunden.
Wie gesagt so hweiß das man sich verbrennt.

Also was mein ihr ist der AVR dabei wohl mit kaput gegangen?

@ Hans ja das mit den datenblättern aheb ich heute schon mit der 7 
segmentanzeige praktiziert.
Das mit der sicherung ist auch ne gute idee werde ich wohl auch 
übernehmen.

von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:
> Da ich niicht mehr als 15 min editieren darf lade ich shalt in dem post
> hoch.
>
> http://www.dark-clan-bf2.de/14_Open_Webspace/01.jpg
>
> Unten Messe ich 5.02V
> Oben Messe ich 9.30V

Mach mal eine Aufnahme vom 7805. Das ist wohl das Teil rechts oben im 
Eck. Irgendwo musst du dich da 'versteckt' haben.

(Drum bau ich auch auf einem Steckbrett erst mal die Spannungsversorgung 
auf, messe mit dem Voltmeter nach, ob ich wirklich überall die 5V habe 
wo sie hingehören und erst dann wird weitergebaut.
Nur die Überheblichen gehen davon aus, dass sie niemals Fehler machen! 
Praktiker wissen, dass sie Fehler machen und arbeiten dementsprechend in 
solchen Schritten, dass Fehler nicht gleich alles ruinieren sondern 
frühzeitig entdeckt werden)

> Wenn ich ih in den Strok stecke wird er sofort von der mitte aus heiß
> vlt 10 Sekunden.
> Wie gesagt so hweiß das man sich verbrennt.
>
> Also was mein ihr ist der AVR dabei wohl mit kaput gegangen?

Möglich.
Auf der anderen Seite: Die Dinger sind ziemlich robust. Zieh in aus dem 
Steckbrett und dann miss erst mal die Spannungen nach. Solange da auf 
den 'roten' SChienen keine 5V in Bezug auf die 'schwarzen' Schienen zu 
messen sind, ist das alles Spekulation

von Karl H. (kbuchegg)


Lesenswert?

Je mehr ich dein Bild studiere, desto mehr komme ich zu der Überzeugung: 
du hast dich da verbaut.
Ganz oben rechts im Eck: der gelbe Draht oben, der verbindet die 
Eingangsspannung direkt mit deiner 5V Schiene oben.

Schmeiss den ganzen Krempel noch mal runter und bau das neu auf.
Aber diesmal konzentrierst du dich nur auf die obere 5V/GND Schiene. Und 
wenn du da dann 5V hast, dann verbindest du die untere 5V SChiene mit 
der oberen 5V Schiene mit EINEM Stück Draht. Selbiges für die GND 
Schiene.

Aber nicht die Bauteile aufteilen auf einen Teil in der oberen Hälfte 
und einen Teil in der unteren Hälfte.

von Johannes F. (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
>> Wenn ich ih in den Strok stecke wird er sofort von der mitte aus heiß
>> vlt 10 Sekunden.
>> Wie gesagt so hweiß das man sich verbrennt.
>>
>> Also was mein ihr ist der AVR dabei wohl mit kaput gegangen?
>
> Möglich.

Naja, also wenn das Teil so heiß wird, dass man sich verbrennt, ist das 
schon sehr bedenklich...
Ich denke, da muss man nicht lange überlegen, ob kaputt oder nicht.
Wenn das IC heiß wird, muss zwangsläufig eine erhöhte Verlustleistung 
durch zu hohen Strom auftreten, bei diesem Ausmaß schätze ich mal 
Größenordnung 100mA. Das ist etwa um den Faktor 10 höher als die maximal 
zu erwartende Stromaufnahme des ICs. ==> Defekt.

Was hast du denn mit dem armen Ding angestellt? Eigentlich sollen die 
AVRs ja so manches aushalten...

Johannes

von Matthias T. (matthias_199)


Angehängte Dateien:

Lesenswert?

Also unten Messe ich 5V und oben 9V.
Nach dem angehängen Plan.

von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:
> Also unten Messe ich 5V und oben 9V.
> Nach dem angehängen Plan.

Aber dieser Plan stimmt nicht mit deinem Photo überein.

http://www.dark-clan-bf2.de/14_Open_Webspace/01.jpg

Am Plan ist die gelbe Verbindung aum linken Pin der 3 7805 Pins. Auf 
deinem Photo ist sie am rechten Pin. Und rate mal, was dort für ein 
Potential liegt :-)

von Matthias T. (matthias_199)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:
> Mom hier Nochmal das bild.
>
> http://www.dark-clan-bf2.de/14_Open_Webspace/02.jpg


Da sieht mans noch deutlicher.

Du hast auf der oberen 5V Schiene die 9V Eingangsspannung 
durchverbunden! Die gelbe Brücke legt die 9V Eingangsspannung auf die 5V 
Schiene und nicht die 5V Ausgang vom 7805

von Matthias T. (matthias_199)


Lesenswert?

Ja jetz sehe ich es was für ein leichtsinnsfehler ist ja zum kopf gegen 
die wand hauen?

von Karl H. (kbuchegg)


Lesenswert?

Johannes F. schrieb:
> Karl Heinz Buchegger schrieb:
>>> Wenn ich ih in den Strok stecke wird er sofort von der mitte aus heiß
>>> vlt 10 Sekunden.
>>> Wie gesagt so hweiß das man sich verbrennt.
>>>
>>> Also was mein ihr ist der AVR dabei wohl mit kaput gegangen?
>>
>> Möglich.
>
> Naja, also wenn das Teil so heiß wird, dass man sich verbrennt, ist das
> schon sehr bedenklich...
> Ich denke, da muss man nicht lange überlegen, ob kaputt oder nicht.

Im Prinzip geb ich dir recht.
Wenn ich allerdings so zurückdenke, was AVRs bei mir schon so alles 
mitgemacht haben :-)

Einen Versuch ists wert. Wenn er sich noch rührt: Für Produktion würde 
ich ihn nicht unbedingt mehr hernehmen, aber für zum rumspielen (mit 
einem Aufkleber drauf, dass er möglicherweise in Teilen defekt ist) gut 
genug.
Wenn er überhaupt noch tut. Aber das lässt sich schnell feststellen.

von Matthias T. (matthias_199)


Lesenswert?

Ne ich glaub der is hin.
So Ohne AVR hab ich jetz oben und unten eine spannung von 5.03V .. Ist 
okey?
Mit AVR 4.95 sowas um den dreh.
Er wird noch war, ist aber kaum der rede wert.
Wird aber nicht vom AVR studio erkannt also wohl wirkllich hin.

http://www.dark-clan-bf2.de/14_Open_Webspace/03.jpg


http://www.dark-clan-bf2.de/14_Open_Webspace/04.jpg

von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:
> Ne ich glaub der is hin.
> So Ohne AVR hab ich jetz oben und unten eine spannung von 5.03V .. Ist
> okey?
> Mit AVR 4.95 sowas um den dreh.

Ja, ist ok.
Wir sind ja keine Goldschmiede sondern in der Digitaltechnik. Ob 4.95 
oder 5.0 ist Jacke wie Hose.

> Er wird noch war, ist aber kaum der rede wert.
> Wird aber nicht vom AVR studio erkannt also wohl wirkllich hin.

Wenn du einen zum Austausch hast, probier den mal. Wenn der sich sofort 
meldet, dann hat es dein 'Heizkörper' wohl hinter sich.

> http://www.dark-clan-bf2.de/14_Open_Webspace/03.jpg
> http://www.dark-clan-bf2.de/14_Open_Webspace/04.jpg

Ämh. Du kannst ruhig Bilder auch hier hochladen, solange die sich 
Kilobytemässig im Rahmen halten. 100 bis 200k sind immer ok.

Ich zb klicke nur sehr ungern auf Links von externen Bilderhostern, weil 
man dann oft mit Werbung zugemüllt wird, bis man dann endlich mal was 
sieht.

von Hannes L. (hannes)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Ich zb klicke nur sehr ungern auf Links von externen Bilderhostern,

Ich auch nicht. Deshalb habe ich auch nicht mit gesucht.

Und ich vermisse den niedlichen "Eintiger", da war also ein "Fälscher" 
am Werk... ;-)

...

von Karl H. (kbuchegg)


Lesenswert?

Moooooment


Dein Prozessor sitzt verkehrt rum drinnen!

An der Schmalseite ist eine halbkreisförmige 'Kerbe'. Die sagt dir die 
Ausrichtung! Deiner ist um 180° verdreht. Die Kerbe muss nach links 
schauen, bei dir schaut sie nach rechts. D.h. du hast die Anschlüsse 
ganz woanders vorgenommen, also wo sie sein sollten.


Mir scheint du hast zu sehr nach Bild gestöpselt, anstatt mitzudenken 
und zu kontrollieren was du da eigentlich zusammensteckst. Du musst viel 
sorgfältiger arbeiten. Sowas wie eine Kerbe die in die falsche Richtung 
zeigt darf nicht passieren.


(Wenn die 9V nicht gewesen wären, könnte das der µC sogar überlebt 
haben. Hmmmm .....)

von Matthias T. (matthias_199)


Lesenswert?

Okey dan mach ich se in zukunft kleiner ... is mein privater webspace da 
kommt zu 100% keien werbung ^^

Der MKII blink ornage ... also gibts da probleme^^ ich denk er hats 
hinter sich ich hol morgen ein neuen und meld mich

MFG Matthias

von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:
> Der MKII blink ornage ... also gibts da probleme^^ ich denk er hats
> hinter sich ich hol morgen ein neuen und meld mich

Dein Prozessor sitzt verkehrt rum am Steckbrett!

Beitrag "Re: uC Einsteiger mit ein paar Fragen"

von Matthias T. (matthias_199)


Angehängte Dateien:

Lesenswert?

NIcht schlecht er aht mir ausgehalten aber ich mach heute nix mehr man 
merkt das sich jetz fehler einschleichen die einfach nur peinlich sind 
auf jeden fal vielen vielen dank

eine sache noch,
http://doc.chipfind.ru/stmicroelectronics/78l05.htm

ist nach dem datasheet der 78L05 nich bei mir flasch rum drinne?

von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:
> NIcht schlecht er aht mir ausgehalten

:-)

Besorg dir trotzdem schnell einen Ersatz.
Auch wenn es jetzt so scheint als ob er noch gehen würde, einen Schaden 
hat er sicherlich weg. Fragt sich nur wo der sitzt.
Kleiner Aufkleber auf den µC, mit "defekt" drauf, und wenn irgendwas 
nicht ganz koscher ist, dann erst mal mit einem Neuen gegenchecken.
(Mit widerstrebt es auch, Dinge wegzuwerfen :-)

> eine sache noch,
> http://doc.chipfind.ru/stmicroelectronics/78l05.htm
>
> ist nach dem datasheet der 78L05 nich bei mir flasch rum drinne?

Warum?
Das Anschluss-Bild ist Ansicht von unten. Wenn du direkt auf die 
abgeflachte Seite draufschaust, dann ist Ausgang links, Masse Mitte und 
Eingang rechts. So wie du das gesteckt hast.

von Karl H. (kbuchegg)


Lesenswert?

Und im übrigen.
Gratuliere: Du hast deinen ersten µC zum Laufen gekriegt.

Jetzt kommt der schwierige Teil :-)

von Matthias T. (matthias_199)


Lesenswert?

Stimmt du hast recht auf den tisch legen dan sieht mans besser.... so 
war auch der trik von meinem alten technikleher zum vorstellen.

Ja morgen hol ich mir ein neuen :D

Volgendes Bascom will nicht wie ich will aber ich sehe grad im AVR 
studio kann man doch auf den uC hex files draufmachen.
Kann ich nicht einfach bascom die hex file machen lassen und von avr 
studio dan draufschrieben lassen?

MFG Matthias

von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:

> Kann ich nicht einfach bascom die hex file machen lassen und von avr
> studio dan draufschrieben lassen?

Sicher kannst du. In diesem Fall ist Hex-File gleich Hex-File.

(aber irgendwann wird es dir lästig werden :-)

von Matthias T. (matthias_199)


Lesenswert?

Weiß nicht^^ ich hab mich ja für bascom entschieden im avr studio gibt 
es ja Flash

EEPROM

ELF

Soweit ich mich eingelesen hab tun wir ja auf Flash-Rom schreiben
EEProm war ja das was sich mit UV licht löschen lässt?

Und ist es normal das die hexs files klein sind bei nem 10 zeiler?

so ein kB?

EDIT : ja das sagt windows is sogar noch kleiner rund 500 bytes

von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:
> Weiß nicht^^ ich hab mich ja für bascom entschieden im avr studio gibt
> es ja Flash
>
> EEPROM

Macht ja nix.
Entscheidend ist, ob BASCOM mit deinem Brenner zurecht kommt. Sollte es 
eigentlich.

> Soweit ich mich eingelesen hab tun wir ja auf Flash-Rom schreiben
> EEProm war ja das was sich mir UV licht löschen lässt?

Das war EPROM.
Das erste E in EEPROM steht für 'electrical eraseable'. Also nix mehr 
mit UV

> Und ist es normal das die hexs files klein sind bei nem 10 zeiler?

Ja.
Daran musst du dich gewöhnen. Back to the roots

Nur unter (heutigem) Windows hat ein popeliger Maustreiber 200MB.

> EDIT : ja das sagt windows is sogar noch kleiner rund 500 bytes

500 Bytes, das sind ca 150 Instruktionen. Das ist für einen µC schon 
sehr viel Holz.

von spess53 (Gast)


Lesenswert?

Hi

>Weiß nicht^^ ich hab mich ja für bascom entschieden im avr studio gibt
>es ja Flash
>EEPROM

Richtig. AVRs haben beides drin.

>ELF

Das ist lediglich ein spezielles File, das die Daten für Programm, 
EEPROM, Fuses und Security-Bits enthält. Damit kann das alles in einem 
Rutsch programmiert werden.


>Soweit ich mich eingelesen hab tun wir ja auf Flash-Rom schreiben
>EEProm war ja das was sich mir UV licht löschen lässt?

Nein. EEPROM ist elektrisch löschbar. Das verwechselst du mit EPROM.

MfG Spess

von Matthias T. (matthias_199)


Lesenswert?

Klar aber ich mein es geht um die hex file die das bascon liefert die 
muss in den Flash und nicht in den EEPROM oder?

von spess53 (Gast)


Lesenswert?

Hi

>Klar aber ich mein es geht um die hex file die das bascon liefert die
>muss in den Flash und nicht in den EEPROM oder?

Ja. Aber auch BASCOM kann, zusätzlich zum Programmfile, bei Bedarf ein 
File für den EEPROM erzeugen und Brennen. So richtig scheint die Nutzung 
der unterschiedlichen Speicher noch nicht zu dir vorgedrungen sein.

MfG Spess

von Matthias T. (matthias_199)


Lesenswert?

Jaein^^
Korigier mich wenn ich es Falsch verstanden habe.
Der Flash ist zu vergleichen mit der fetsplatte am PC?
JEdoch kann ich wärend der runtime nix mehr damit machen.
Und der EEPROM mit dem Arbeitsspeicher des PCs?
Doch der EEPROM behält die daten anders als beim PC?

Und ich kann dierekt mir dem programmer auf den EEPROM was machen?

von spess53 (Gast)


Lesenswert?

Hi

>Korigier mich wenn ich es Falsch verstanden habe.
>Der Flash ist zu vergleichen mit der fetsplatte am PC?
>Und der EEPROM mit dem Arbeitsspeicher des PCs?

Weder noch. Im Flashspeicher befindet sich das Programm und das wird 
dort ausgeführt. Beim PC wird das Programm von der Festplatte in den 
RAM (Arbeitsspeicher) geladen und im RAM ausgeführt.

Der EEPROM vom Controller im wesentlichen dazu benutzt um Daten durch 
das Programm zu speichern, die nach Abschalten nicht verloren gehen 
sollen. Du kannst auch schon beim Programmieren EEPROM-Variablen Werte 
zuweisen. Davon wird dann das Hex-File für den EEPROM erzeugt und im 
Controller gepeichert.

Der Arbeitsspeicher des Controllers ist der RAM. Das was da drin ist, 
geht beim Abschalten verloren.

MfG Spess

von spess53 (Gast)


Lesenswert?

Hi

Korrektur

Der EEPROM vom Controller im wesentlichen dazu benutzt
                         ^
                       wird

MfG Spess

von Matthias T. (matthias_199)


Lesenswert?

Ah okey verstanden also ist das für den anfang noch nicht wichtig, 
moment doch also wenn ich sage

count = 1

Wird doch im EEPROM die variable count angelegt?
Und sie bekommt sofort den wert 1

count = count + 1

Dann 2
.....
Das heißt schon bei sowas muss ich zwei hex files haben sehe ich das 
richtig?
Also das count schon von anfang an 1 drinne stehen hat?

EDIT:
Wobei ne, ich will ja das mein counter beim programmstart zurückgesetzt 
wird.
Das heißt ich muss bewusst doch irgend ein befehl ausführen das er ihn 
dort reinschreibt?

von spess53 (Gast)


Lesenswert?

Hi

>Ah okey verstanden also ist das für den anfang noch nicht wichtig,
>moment doch also wenn cih sage

>count = 1 ....

Als notorischer Assemblerprogrammierer sind meine BASCOM-Kenntnisse eher 
rudimentär. Aber ich denke, das du BASCOM explizit mitteilen mußt, das 
eine Variable im EEPROM angelegt wird.

Vielleicht solltest du endlich mal das Manual von BASCOM lesen. Da seht 
das nämlich drin (gerade nachgesehen). Ein paar selbst erarbeitete 
Grundlagen sind auch sehr hilfreich.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Matthias T. schrieb:
> Ah okey verstanden also ist das für den anfang noch nicht wichtig,
> moment doch also wenn ich sage
>
> count = 1
>
> Wird doch im EEPROM die variable count angelegt?

nein


AM ehesten greift noch diese Analogie


  Flash     Arbeitsspeicher vom PC
  SRAM      Arbeitsspeicher vom PC

  EEPROM    deine Festplatte im PC

Im PC gibt es nur 1 Form des Arbeitsspeichers. Programme werden 
ausgeführt, in dem sie von der Festplatte in den Speicher geladen werden 
und dann dort laufen gelassen werden. Was das Programm an Variablen 
braucht, legt es sich im Arbeitsspeicher an.


Im AVR hast du 2 Formen von Speicher, den Flash und das SRAM die diese 
Aufgabe übernehmen. Dies deshalb weil du keine Festplatte hast, von der 
ein Programm geladen werden könnte. Das Programm muss also beim 
Einschalten bereits im Speicher sein. Flash kann das.
Dafür ist das Flash aber nicht veränderbar. Wenn sich Werte verändern 
können sollen, dann geht das nur im SRAM (oder im EEPROM).
EEPROM nimmt man aber nicht dafür, weil es langsamer geht als im SRAM.

Variablen sind also im SRAM

Aber wozu dann das EEPROM?
Weil es auch Werte gibt, die das Abschalten der Versorung überdauern 
könenn sollen. Das wiederrum kan das EEPROM. Genauso wie es die 
Festplatte in deinem PC kann. Ein Programm speichert am PC solche Sachen 
auf der Festplatte, du speicherst sie auf dem AVR eben im EEPROM. Auch 
wenn das länger dauert als im SRAM

von Hannes L. (hannes)


Lesenswert?

spess53 schrieb:
> Vielleicht solltest du endlich mal das Manual von BASCOM lesen. Da seht
> das nämlich drin (gerade nachgesehen).

Und auch das Datenblatt des Controllers, da steht nämlich auch etwas 
über die verschiedenen Speicherarten drin. Und dann solltest Du Dich mal 
über den Unterschied zwischen Harvard-Architektur (AVR) und 
von-Neumann-Architektur informieren, dann merkst Du, dass Du AVR und PC 
nur wie Äpfel und Birnen vergleichen kannst.

> Ein paar selbst erarbeitete
> Grundlagen sind auch sehr hilfreich.

Das ist wohl wahr...

...

von Matthias T. (matthias_199)


Lesenswert?

alles klar der neue avr is da , bzw hab ihn geholt ich lese mich noch 
ein und progg dan los thx für die hilfe und geduld.

MFG Matthias

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.