Programmvorbereitungen für ATmega mit Assembler

Folienkondensator

Neues Mitglied
28. Mai 2012
89
0
0
Sprachen
  1. ANSI C
  2. Assembler
Hallo

Ich beschäftige mich zz mit der Programmierung von einem ATmega8. Leider gibt es immer wider Probleme da ich nicht weis wie man ein Programm richtig und vorallem vollständig beginbnt und welche Vorbereitungen man wie trifft.
Ein großes Problem ist dass ich nicht weis wie ich mit Assembler den Chip für einen Externen Quarz (16Mhz) scharf schalte. und dann gibz anscheinend noch den Unterschied zwischen Quarz und Oszillator (Crystal und Clock) oder so.
Also meine Frage: Wie kann ich den Chip für einen 16Mhz Quarz (oder andere Quarze) scharf schalten.

Ich schreibe das Programm eigendlich immer mit dem Editor.
Zur Verfügung steht mir Ponyprog, AVR Studio 5 und ein selbst gebautes Interface (ISP)

Über Antworten würd ich mich sehr freuen :D
MfG
Folienkondensator
 
Hi,

Ein großes Problem ist dass ich nicht weis wie ich mit Assembler den Chip für einen Externen Quarz (16Mhz) scharf schalte. und dann gibz anscheinend noch den Unterschied zwischen Quarz und Oszillator (Crystal und Clock) oder so.
Also meine Frage: Wie kann ich den Chip für einen 16Mhz Quarz (oder andere Quarze) scharf schalten.
Mit dem Programm kannst du nicht von internem Takt auf Quarz umschalten. Das geht über die Fuses. Also direkt beim Programmiervorgang des Controllers.

Gruß
Dino
 
Und wie funktioniert der Programmiervorgang des Controllers? Ich hab das noch nie gemacht.
->
.include"m8def.inc"
rjmp Start
Start:
und dann gings schon los mit dem Programm.
 
Hi,

Und wie funktioniert der Programmiervorgang des Controllers? Ich hab das noch nie gemacht.
du must zwischen deinem (Assembler)programm und dem Programmiervorgang unterscheiden.
- Mit dem Assemblerprogramm erstellst du deine Anwendunng. Das Programm wird kompiliert und liegt dann als Datei vor.
- Beim Programmiervorgang "brennst"/programmierst/schreibst du den Inhalt dieser Datei mit dem Programmieradapter und der Brenn/Programmiersoftware über die ISP-Schnittstelle in den Flash-Speicher des Controllers.

Sieh dir mal PonyProg an. Da wirst du die Fuses finden von denen ich rede. Dort kannst du sie einstellen.
Wenn du dich dort allerdings vertust kannst du dich auch aussperren. Du kommst dann mit der normalen ISP-Schnittstelle NICHT mehr an den Controller dran.
Infos über die Fuses findest du hier im FAQ-Bereich.

Gruß
Dino
 
Ich hab mir das jetzt alles mal durch gelesen und jetzt steh ich eigendlich vor dem Problem dass ich nicht weiter weis ^^

Im Datenblatt des ATmega8 hab ich folgendes gefunden:

Device Clocking Option CKSEL3..0
External Crystal/Ceramic Resonator-------1111 - 1010
External Low-frequency Crystal----------1001
External RC Oscillator--------------------1000 - 0101
Calibrated Internal RC Oscillator----------0100 - 0001
External Clock--------------------------0000

Ich hab einen 16Mhz Quarz mit 2 Kondensatoren dran. Was ist das jetzt genau? External Crystal/Ceramic Resonator? oder was anderes?
Und dann sind da noch ewig viele andere Andere Daten (Kondensatorkapazität, Frequenz des Quarzes etc) und viele viele einsen und nullen. aber in Ponyprog hat man ja nur häkchen. gibz da kein Video oder sowas wo jemand mal das zeigt wo man das aus dem Datenblatt raus nimmt und alles über Ponyprog in den Chip rein stopft? das wär mal super praktisch :D

Oder schritt für schritt erklären. evtl wärs ja für andere Neueinsteiger auch mal interessant.

Gruß
 
Hi,

Reichelt » Bauelemente, passiv » Quarze, Oszillatoren, Filter

Keramik-Resonatoren ...



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Quarze (Crystal-Resonator) ...




- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Quarzoszillatoren ...



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Bei Quarzen und Keramikresonatoren benötigt man normalerweise noch zwei Lastkapazitäten (die 22pF Keramikkondensatoren). Bei manchen Resonatoren sind die aber schon mit eingebaut. Dann hat man einen weiteren (dritten) Anschluß für GND. Bei manchen ICs/Controllern sind diese Kapazitäten aber auch schon im IC eingebaut. Zum Beispiel bei den Pins TOSC1/2 für einen Uhrenquarz.

Und dann sind da noch ewig viele andere Andere Daten (Kondensatorkapazität, Frequenz des Quarzes etc) und viele viele einsen und nullen. aber in Ponyprog hat man ja nur häkchen. gibz da kein Video oder sowas wo jemand mal das zeigt wo man das aus dem Datenblatt raus nimmt und alles über Ponyprog in den Chip rein stopft? das wär mal super praktisch :D

Oder schritt für schritt erklären. evtl wärs ja für andere Neueinsteiger auch mal interessant.
ähhh ... Immer diese Videos bei denen man ein paar Kilobyte Text in hunderte Megabyte von Video umwandelt. Das ist genauso nervig wie diese Hörbücher weil die meißten Leute zu faul sind selber mal zu lesen, nachzudenken oder Fakten zu kombinieren. Halte ich persönlich garnix davon. Im Endeffekt ist in den Videos dann doch nicht das zu sehen was man wirklich braucht. Außerdem kann man in diesem vorgekauten Zeugs sowieso nicht jeden Spezialfall abhandeln.

Achtung! Nimm das "Leute zu faul sind" jetzt nicht persönlich auf dich gemünzt! Wem der Schuh aber paßt der zieht ihn sich an ;)

Also hier im FAQ-Bereich ist schon ne Menge drin. Am Anfang ist sogar ein Verzeichnis mit interessanten Beiträgen. Dann findet man auch noch beim RN-Wissen.de ne ganze Menge guter Beiträge. Es ist eben nicht alles im Leben Plug-n-Pray wie bei Windoof wo dann im Endeffekt doch nicht alles so automatisch funktioniert wie es gedacht war. Ohne ein wenig eigene Initiative wirst du recht schnell vor der Mauer stehen. Wenn du etwas nicht verstehst dann wird dir gerne weitergeholfen. Aber alles zum x-ten mal in einem fünfunddrölfsten Tutorial aufwärmen wird keiner machen.

Also die Bemerkungen nicht persönlich nehmen. Es wird aber doch schon eine gewisse Eigeninitiative vorausgesetzt. Bei einzelnen Stellen wo es dann hakt wird aber gerne weitergeholfen.

Gruß
Dino
 
Der Quarz ist ein "Crystal", und mit 16MHz sicher nicht "low-frequenzy". Extern ist er sicher auch, also ja.
Bei den Kerkos liegst Du mit 22pF eigentlich immer ganz gut.
"Nullen und einsen"... was meinsten da jetzt? CKSEL haste ja jetzt vorgegeben, SUT? Wenns beim Start des Prozessors nicht auf extrem(!!) kurze Zeit ankommt, gönn dem Quarz etwas mehr Zeit, um sich einzuschwingen ->längste "start up time"
Als nächstes taucht dann im Datenblatt das OSCCAL-Register (ist ein I/O-Register, keine Fuse) auf. Damit könnte man den internen Quarz "kalibrieren" - da brauchst Du sicher (noch) nicht ran -> so lassen

Von Pony hab ich keine Ahnung - schau Dir mal die Fuses mit dem Studio an (aber erstmal nichts verstellen, nix schreiben(!!) - nur lesen lassen), und lade mal ein Screenshoot davon hoch. Dann können wirs einfacher erklären (bin grad mitm Android-Tablet online...).
 
Hi
Ich denke, du mußt unbedingt ein paar grundsätzliche Dinge über µC's lernen, bevor du anfängst, dich mit Fuses zu besschäftigen. Assembler hat nichts mit Fuses zu schaffen. Das ist auf dem Controller ein compilierter Code, der eine Befehlsfolge ablaufen läßt. Die Fuses aber werden im Controller gesetzt oder gelöscht und sind sowas wie Parametrierbits. Wenn du da etwas falsch machst, dann verlierst du den Zugriff auf deinen Controller. Im schlimmsten Fall irreparabel. Machst du im Assemblerprogramm etwas falsch... was solls der Controller entwickelt dann halt ein Eigenleben, welches du ihm aber jederzeit durch Überschreiben der Programmsequenz wieder abgewöhnen kannst. Also lerne erst einmal mit dem internen Takt den Controller zur Arbeit zu bewegen. Lass eine LED blinken oder über einen Transistor ein Relais schalten. Bau eine Uhr, steuer 7-Segmentanzeigen an. Dazu brauchst du noch nicht den externen Takt. Selbst eine serielle Verbindung bis 600 Baud sollte noch keine allzu großen Probleme machen. Mit der Zeit wirst du sicherer und lernst auch, die Datenblätter zu lesen.
Nicht jeder, der seinen Führerschein gemacht hat, kauft sich als erstes Auto einen Ferrari. Also hab ein wenig Geduld.
Gruß oldmax
 
Ok, da jetzt das wesentliche gesagt worden ist (auch die Warnung, daß man wissen sollte, was man tut, und daß man sich sonnst ggf aussperren kann), hier jetzt mal die Vorgehensweise für das neue Studio (ich hab auch gebraucht, bis ich mich zurecht gefunden hab - früher war alles... egal. Und einen Mega8 hab ich tatsächlich auch noch gefunden...)
clock-fuses.png
1. öffnet den "Programmierdialog" - hieß früher, glaub ich connect
2. hier den Prozessor wählen
3. und "hinzufügen" - ggf kann man oben rechts noch die ID lesen lassen, um sicher zu sein, daß der Progger ordentlich läuft
4. liest die Fuses aus (Achtung, wenn man hier jetzt was ändert und in den chip schreiben läßt ("program"), kann(!) man sich aussperren)
5. da sind die Einträge für die Clock-Options
6. sollte der Eintrag für einen externen 16MHz-Quarz sein - wenn Du mit der Maus über einer Zeile schwebst, wird der näher erklärt

Kurze Erklärung zu den Warnungen: Wenn man hier eine Clocksource einstellt, die man in Hardware nicht realisiert (realisieren kann), ist der Controller halt auf diese eingestellt, d.h. seine Clock steht. Ohne laufende Clock läuft aber auch die Programmierschnittstelle des Controllers auch nicht - somit kann man die auch nicht zurückstellen.
So ähnlich kann man per "RSTDSBL-Fuse" auch den Reset-Pin zum normalen I/O-Pin machen. Dann hat der µC halt keinen externen Reset-Pin mehr. ABER zum "normalen" seriellen Programmieren muß er durch den Programmer über diesen Pin in den Reset gezwungen werden, also kann man die Fuse so auch nicht wieder zurücksetzen. Das geht dann nur (mit deutlich mehr Verkabelungsaufwand) mit High Voltage Programmierung, und natürlich nur mit einem Programmer, der das auch unterstützt.
 
Hi,

da hat LotadaC ja schon ganz gut was erklärt ;)

Kurze Erklärung zu den Warnungen: Wenn man hier eine Clocksource einstellt, die man in Hardware nicht realisiert (realisieren kann), ist der Controller halt auf diese eingestellt, d.h. seine Clock steht. Ohne laufende Clock läuft aber auch die Programmierschnittstelle des Controllers auch nicht - somit kann man die auch nicht zurückstellen.
Wenn man zuhause noch irgendwas liegen hat (NE555, Quarzoszillator, Funktionsgenerator,...) was selber einen Takt erzeugen kann dann kann man den Controller mit Heimmitteln wiederbeleben.

So ähnlich kann man per "RSTDSBL-Fuse" auch den Reset-Pin zum normalen I/O-Pin machen. Dann hat der µC halt keinen externen Reset-Pin mehr. ABER zum "normalen" seriellen Programmieren muß er durch den Programmer über diesen Pin in den Reset gezwungen werden, also kann man die Fuse so auch nicht wieder zurücksetzen. Das geht dann nur (mit deutlich mehr Verkabelungsaufwand) mit High Voltage Programmierung, und natürlich nur mit einem Programmer, der das auch unterstützt.
Bei RSTDSBL, SPIEN, DWEN hast du ohne einen HV-Programmer ganz schlechte Karten. Meist muß der Controller dafür auch aus der Schaltung raus.

Wie gesagt hab ich das mal in den FAQs lang und breit erklärt ... Fuse-Bits der Megas und Tinys (Übersicht und Erklärung)

Hier ist die FAQ-Übersicht ... FAQ-Verzeichnis (Wo wurde was beschrieben)
(muß ich auch mal wieder überarbeiten :rolleyes: )

Gruß
Dino
 
Hallo
Danke erstmal für die Antworten ;)

Also das mit dem Ausschließen hab ich mittlerweile begriffen, Ich hab schon drei Mega8 rum liegen die nix mehr machen :D Aber zum Glück sitz ich ja direkt an der Quelle ^^
Im Anhang hab ich nen Screenshot mit den von Ponyprog ausgelesenen Daten. -> AVR Studio erkennt mein interface nicht. deswegen benutze ich immer schon Ponyprog zum programmieren und AVR Studio ab und zu zum Programme schreiben.
Fuse Bits.JPG
Die Lauflicht sache und das Zeugs hab ich schon hinter mir. Auch Die elektronischen Bauteile und schaltungen kenn ich. Ich bin ja Elektroniker. Nur eben die Chipprogrammiererei ist mir neu. und das mit den Fuse Bits bringt mich noch um ^^

Also wen ich den Haken von CKSEL3 entferne oder den Haken bei CKSEL0 setze funktioniert das ding nichtmehr. und allgemein ist es anscheinend egal was man tut. das Ding reagiert grundsätzlich nichtmehr wen man irgendetwas an CKSEL ändert. so viel hab ich schon gelernt :D
Obwohl ich anhand des Datenblatts folgendes heraus gelesen habe (was warscheinlich falsch war)

Datenblatt:
Device Clocking Option ---------------CKSEL3..0
External Crystal/Ceramic Resonator ---1111 - 1010

External Crystal wäre CKSEL 3,2,1,0 -> Häkchen setzen (Hab ich gemacht und das Ding ist jetzt tod)
Ceramik Resonator wäre CKSEL 3,1 -> Häkchen setzen

Nunja, jetzt mus ich mir wohl auch so ne widerbelebungs Maschine baun und hoffen dass es klapt. xD
Welche Häkchen hätte ich jetzt machen müssen dass es passt? bzw, wie muss man die Angaben in dem Datenblatt verstehen?
 
Hallo,

um einen ATmega8 mit 16MHz Quarz an XTAL1/2 zu betreiben, eignet sich folgende Fusebit-Einstellung:

CKOPT = 0
CKSEL[3..0] = 1111
SUT[1..0] = 11


Quarz 16MHz
Startup time: 16K CK
Additional delay after reset: 65ms
Oscillator output full rail-to-rail

(Alle Angaben ohne Gewähr)

Achtung: "0" bedeutet programmiert, "1" bedeutet nicht programmiert

Du musst darauf achten, ob bei deiner Programmiertsoftware ein gesetzter Haken auch eine "0" (=programmiert) bedeutet.
Ponnyprog setze ich nicht ein, vielleicht kennt sich hier ja jemand aus.

Ich würde einfach erst mal mein erstes Assemblerprogramm programmieren, ohne an den Fuses etwas zu verstellen. Ausgeliefert wird der ATmega8 mit internem 1MHz RC-Oszillator als Systemtaktquelle. Wenn das erste "LED-Blink-Programm" läuft, würde ich umstellen auf 16MHz Quarz.

Gruß,
Dirk
 
Danke für Auskunft ;)
Die ganzen Blinkprogramme und das Zeugs hab ich wie gesagt schon hinter mir. ich brauch den Quarz jetzt hauptsächlich weil ich gerne mal ein Programm von einen Chip auf einen ganz anderen übertrage. und da ich nicht immer weis wie da der interne Tackt ist stimmts mit den Zeiten nichtmehr ^^

-> hab die ganze Nacht lang gegooglet und bin auf etwas ganz interessantes gestoßen. einen wirklich guten Fuse Bits Rechner der wirklich viele Informationen gibt. (Jetzt da man das mal gesehen hat, gibt das Datenblatt auch Sinn) Und der Quarz läuft xD

Hier der Link:
http://www.engbedded.com/fusecalc

Gruß
 
Hallo,

also wenn ich mich recht erinnere sind die Häkchen beim PonyProg genau umgedreht gegenüber dem AVRStudio4 (also dem alten).
Code:
;
; ========== ATmega8 ==========
;
; * SUT1 und SUT0 (Zustand=11): Start-up Time 65ms nach Reset,
;   Einstellung für Quarzoszillator und langsam ansteigende 
;   Betriebsspannung (Tabelle 5 des Datenblattes)
; * [B]CKSEL3-CKSEL0 (Zustand=1111)[/B]: Quarzoszillator im Bereich 3-8MHz 
;   (Tabelle 4 des Datenblattes)
; * CKOPT (Zustand=1): schneller Quarzoszillator (Tabelle 4 des Datenblattes)
; * BODEN (Zustand=0): Brown-out einschalten
; * BODLEVEL (Zustand=1): Brown-out Schwelle auf 2,7V setzen
;
;  [B]Unter Beachtung der invertierten Logik der Fuse-Bits[/B] sollte man 
;  also die Fuses so setzen wie im folgenden Bild: 
; 
; ( )7 ( )6 [ ]BootLock12 [ ]BootLock11 [ ]BootLock02 [ ]BootLock01 [ ]Lock2 [ ]Lock1
;
; [ ]S8535C [ ]WDTON (X)SPIEN [ ]CKOPT  [ ]EESAVE [X]BOOTSZ1 [X]BOOTSZ0 [ ]BOOTRST
;
; [ ]BODLEVEL [X]BODEN [ ]SUT1 [ ]SUT0 [B][ ]CKSEL3 [ ]CKSEL2 [ ]CKSEL1 [ ]CKSEL0[/B]
;  ______________________
; |                      |
; | [X] Bit=0  [B][COLOR="#FF0000"][ ] Bit=1[/COLOR][/B] | ( ) -> Nicht anwaehlbar  [ ] -> Anwaehlbar
; | progr.     [B][COLOR="#FF0000"]unprogr.[/COLOR][/B]  |
; |______________________|
;
hier also mal ein Teil aus meinen Assembler-Anfängen wo ich auch noch mit PonyProg gearbeitet habe.

dann mach ich gleich mal weiter ...
Code:
;
; ========== ATmega32 ==========
;
; * SUT1 und SUT0 (Zustand=11): Start-up Time 65ms nach Reset,
;   Einstellung für Quarzoszillator und langsam ansteigende 
;   Betriebsspannung (Tabelle 5 des Datenblattes)
; * CKSEL3-CKSEL0 (Zustand=1111): Quarzoszillator im Bereich 3-8MHz 
;   (Tabelle 4 des Datenblattes)
; * CKOPT (Zustand=1): schneller Quarzoszillator (Tabelle 4 des Datenblattes)
; * BODEN (Zustand=0): Brown-out einschalten
; * BODLEVEL (Zustand=1): Brown-out Schwelle auf 2,7V setzen
;
;  Unter Beachtung der invertierten Logik der Fuse-Bits sollte man 
;  also die Fuses so setzen wie im folgenden Bild: 
; 
; ( )7 ( )6 [ ]BootLock12 [ ]BootLock11 [ ]BootLock02 [ ]BootLock01 [ ]Lock2 [ ]Lock1
;
; [ ]OCDEN [X]JTAGEN (X)SPIEN [ ]CKOPT  [ ]EESAVE [X]BOOTSZ1 [X]BOOTSZ0 [ ]BOOTRST
;
; [ ]BODLEVEL [X]BODEN [ ]SUT1 [ ]SUT0 [ ]CKSEL3 [ ]CKSEL2 [ ]CKSEL1 [ ]CKSEL0
;  ______________________
; |                      |
; | [X] Bit=0  [ ] Bit=1 | ( ) -> Nicht anwaehlbar  [ ] -> Anwaehlbar
; | progr.     unprogr.  |
; |______________________|

Code:
;
; ========== ATmega128 ==========
;
; * SUT1 und SUT0 (Zustand=11): Start-up Time 65ms nach Reset,
;   Einstellung für Quarzoszillator und langsam ansteigende 
;   Betriebsspannung (Tabelle 5 des Datenblattes)
; * CKSEL3-CKSEL0 (Zustand=1111): Quarzoszillator im Bereich 3-8MHz 
;   (Tabelle 4 des Datenblattes)
; * CKOPT (Zustand=1): schneller Quarzoszillator (Tabelle 4 des Datenblattes)
; * BODEN (Zustand=0): Brown-out einschalten
; * BODLEVEL (Zustand=1): Brown-out Schwelle auf 2,7V setzen
;
;  Unter Beachtung der invertierten Logik der Fuse-Bits sollte man 
;  also die Fuses so setzen wie im folgenden Bild: 
; 
; ( )7 ( )6 [ ]BootLock12 [ ]BootLock11 [ ]BootLock02 [ ]BootLock01 [ ]Lock2 [ ]Lock1
;
; ( )7 ( )6 ( )5 ( )4  ( )3 ( )2 [ ]M103C [ ]WDTON
;
; [ ]OCDEN [ ]JTAGEN (X)SPIEN [ ]CKOPT  [ ]EESAVE [X]BOOTSZ1 [X]BOOTSZ0 [ ]BOOTRST
;
; [ ]BODLEVEL [X]BODEN [ ]SUT1 [ ]SUT0 [ ]CKSEL3 [ ]CKSEL2 [ ]CKSEL1 [ ]CKSEL0
;  ______________________
; |                      |
; | [X] Bit=0  [ ] Bit=1 | ( ) -> Nicht anwaehlbar  [ ] -> Anwaehlbar
; | progr.     unprogr.  |
; |______________________|
;

Code:
;
; ========== ATmega8535 ==========
;
; * SUT1 und SUT0 (Zustand=11): Start-up Time 65ms nach Reset,
;   Einstellung für Quarzoszillator und langsam ansteigende 
;   Betriebsspannung (Tabelle 5 des Datenblattes)
; * CKSEL3-CKSEL0 (Zustand=1111): Quarzoszillator im Bereich 3-8MHz 
;   (Tabelle 4 des Datenblattes)
; * CKOPT (Zustand=1): schneller Quarzoszillator (Tabelle 4 des Datenblattes)
; * BODEN (Zustand=0): Brown-out einschalten
; * BODLEVEL (Zustand=1): Brown-out Schwelle auf 2,7V setzen
;
;  Unter Beachtung der invertierten Logik der Fuse-Bits sollte man 
;  also die Fuses so setzen wie im folgenden Bild: 
; 
; ( )7 ( )6 [ ]BootLock12 [ ]BootLock11 [ ]BootLock02 [ ]BootLock01 [ ]Lock2 [ ]Lock1
;
; [ ]S8535C [ ]WDTON (X)SPIEN [ ]CKOPT  [ ]EESAVE [X]BOOTSZ1 [X]BOOTSZ0 [ ]BOOTRST
;
; [ ]BODLEVEL [X]BODEN [ ]SUT1 [ ]SUT0 [ ]CKSEL3 [ ]CKSEL2 [ ]CKSEL1 [ ]CKSEL0
;  ______________________
; |                      |
; | [X] Bit=0  [ ] Bit=1 | ( ) -> Nicht anwaehlbar  [ ] -> Anwaehlbar
; | progr.     unprogr.  |
; |______________________|
das sollte erstmal weiterhelfen ;)

Würde also bei deinem Bild ergeben ...
SUT=10 (=> 1MHz internal RC Osc, Slow Rising Power)
CKSEL=0001 (=> Calibrated Internal RC Oscillator)

Gruß
Dino
 
Ja genau. die Häkchen stehen für nullen. und es hat endlich funktioniert ;)
Dan bin ich ja gespannt wan das nächste Problem kommt xD
Gruß
 
Ja genau. die Häkchen stehen für nullen. und es hat endlich funktioniert ;)
sehr schön.

Deine "defekten" ATmegas sind eventuell nur ohne Takt. Setz mal nen Quarzoszillator oder was anderes Taktgebendes dran so wie in den FAQs beschrieben. Eventuell bekommst du sie dann wieder zum laufen.
 
Wenn nichts anderes zur Hand ist, kann man auch einen anderen AVR als Taktquelle verwenden. Der ist dann vielleicht über so eine triviale Aufgabe verärgert, aber...
 
So schnell kriegt man so'n AVR auch nicht tot (ok, Dino hat (wenn ich mich recht erinner) schon irgendwo einen I/O gekillt (der Rest geht aber noch) - und irgendwer hats hier auch schon mal (ohne eigene Schuld und versehentlich) mit Netzspannung geschafft (gabs auch schöne Bilder)) - Wennst Dich aussperrst mit den Fuses, brauchste halt'n Dietrich um wieder reinzukommen (externe Taktquelle, H/V-Programmierer etc)
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)