Kann mir jemand sagen wie man einen ATMEGA16 ohne Board resetet???
Watchdog kommen lassen oder einfach aus- und wiedereinschalten ;-) Eventuell auch mal Datenblatt durchlesen....
Sorry hab irgendwie gehört das des einfach mit nem Kondensator geht (Bin heut erst das erstemal mit Mikrocontroller in berührung gekommen und bin erst 14)
mußt mal schauen 'low'-Pin suchen: alle Pins durchmessen, der mit 'low'-Spannung ist der 'low'-Pin Tipps nach Berührung mit Microcontrollern: Gründlich die Hände waschen, bei Berührung mit den Augen einen Arzt aufsuchen!
Mit ´nem kondensator? Nö. Der ATMEGA führt einen Power-On-Reset aus. Zusätzlich kann man über spezielle programmierbare Bits (Fuses) einen internen Brown-Out-Detektor aktivieren, der bei Unterschreiten eines einstellbaren Spannungspegels einen Reset auslöst. Der Watchdog löst, wenn aktiviert, einen Reset aus, wenn er vom internen Programm nicht mehr gelöscht wird, weil sich das Programm aufgehängt hat. Letztlich wird ein Reset durch herunterziehen der Reset-Leitung auf logisch 0 ausgelöst, die im Controller über einen internen Widerstand auf logisch 1 gehalten wird.
@ Timo Teske (killerbiene007)
>Und wie find ich den low PIN
Gleich neben der Any-Key Taste ;-)
MFG
Falk
bei mir ist grad eine Frage aufgetaucht.. :) kann eigentlich ein Atmega sich selbst reseten? :)))
also ich meine einen pin mit reset verbinden... natürlich mit pull up. und dann den pin auf low schalten :) wird er dann resetet?
Alex wrote: > also ich meine einen pin mit reset verbinden... natürlich mit pull up. > und dann den pin auf low schalten :) wird er dann resetet? Warum sollte er nicht?
>Dieses Forum, das AVR-Tutorial und Datenblätter. Mehr braucht´s nicht.
Kann ich so wirklich das programmieren lernen???
Ich hab ja noch überhaupt keine Ahnung was programmieren betrifft
Hoffe, Du hast mich nicht falsch verstanden! Finde es super, dass Du Dich in so jungen Jahren schon dafür begeistern kannst! Weißt Du, die meisten Leute, die ich kenne haben erst im Studium was von der Programmiererei gehört und da auch nicht sofort verstanden. Aber mit der entsprechenden Hilfe ging's auch. Da wird es Dir nicht anders gehen. Die Frage ist nur, wo Du Hilfe herbekommen kannst. Habt ihr Informatik in der Schule? Wenn ja, frag den Lehrer. Dafür sind die doch da! Ansonsten gibt's Bücher, das Internet, dieses Forum,...
Wir haben Informatik aber keine wirklichen Informatiklehrer, also nur welche die selber noch keine Lehrer sin und die haben keine Zeit für so etwas. Also will ich es jetzt selber versuchen und hab mir zum ausprobieren das STK500 gekauft. hoffe das es mir was bringt.Weil ansich hab ich schon ziemlich viel ahnung was elektronik betrifft aber Programmieren is halt was neues für mich aber danke das du dir so die Zeit für meine Fragen nimmst
Vielleicht ne sehr dumme Frage aber es würde mir erheblich weiterhelfen wenn mir jemand nen Schaltplan geben könnte wie ich den ATMEGA16 betreiben kann sprich Reset,Betriebsspannung... Danke
mal eine Frage hast du das Datenblatt? nur damit du es weist. Ich bin auch erst 15. gruß Marcel
@ Timo Teske (killerbiene007) >Vielleicht ne sehr dumme Frage aber es würde mir erheblich weiterhelfen >wenn mir jemand nen Schaltplan geben könnte wie ich den ATMEGA16 >betreiben kann sprich Reset,Betriebsspannung... AVR-Tutorial Tu dir und uns einen Gefallen. Lies das Tutorial. In Ruhe. Kauf dir drei ATmeg8. Darauf ist das gesamte Tutorial ausgelegt. Einfacher gehts nimmer. Den Mega16 brauchst du im Moment noch nicht. MfG Falk
Hab noch nich geschaut
is wahrscheinlich erstmal sinnvoll das ich des programmieren lerne,oder
wie hast du angefangen
>Tu dir und uns einen Gefallen. Lies das ...
wenn du mir nich helfen willst dann lass es halt
@ Timo Teske (killerbiene007) >is wahrscheinlich erstmal sinnvoll das ich des programmieren lerne,oder >wie hast du angefangen Ist lange her, hab ich vergessen ;-) Nee, im Ernst, ich hab wie viele andere mit BASIC angefangen, damals auf KC85/3, der C64 des Ostens ;-) Später dann Pascal, Assembler auf dem Amiga mit 68000er (R.I.P.). Prinzipiell ist es sicher sinnvoll,erstmal ein paar Grundstrukturen der Programmierung zu lernen, ehe man an Hardware geht. Macht weniger Probleme Allerdings kann man schon ein paar kleine Sachen machen (LEDs, Taster etc.) um ein paar Erfolgserlebnisse zu haben. >>Tu dir und uns einen Gefallen. Lies das ... >wenn du mir nich helfen willst dann lass es halt Darum geht es nicht. Ich wollte dir damit nur sagen, wie du (und alle anderen auch) prinzipiell vorgehen sollten. ERST selber suchen/lesen/probieren Wenns dann wirklich nicht geht fragen Denn nur allzuoft sind Leute zu faul und zu dämlich, mal ein paar einfache Dinge selber zu suchen, die auch gar nicht schwer zu finden sind. Und das Form ist NICHT dazu da, das kleine 1x1 immer wieder vorzukauen, Dazu gibt es die Wikiartikel und Tutorials sowie Bücher und den Rest vom Internet. Das Forum soll bei konkreten Problemen Hilfe bieten. MfG Falk
Okay hab das Forum erst gestern entdeckt und kenn mich hier noch nich so aus
Ein Atmega kann sich auch in Software selbst resetten. Einfach den Watchdog aktivieren und anschliessend warten, bis der Watchdog auslöst: WDTCR = (1<<WDE); while(1) __asm__("nop");
Hi Timo, hast Du schonmal einen PC programmiert? Ist vielleicht nicht so gluecklich, gleich mit Mikrocontroller anzufangen ohne Betriebssystem, das erfordert schon einiges an Hintergrundwissen. Ich empfehle Dir aber trotzdem, gleich C zu lernen, kannst es ja gleich richtig machen ;) Lg, Michael
Ne hab ich noch nich.Ich hab noch nie programmiert aber vom prinzip ist es doch ziemlich das selbe vom Programme schreiben oder
Hehe... naja prinzipiell ist es schon aehnlich. Allerdings hast Du kein Betriebssystem, das Dir abstraktion schafft und nur sehr begrenzte I/O- und demnach auch Debugging-Moeglichkeiten. Als Anfaenger machst Du es Dir damit nicht gerade leichter. Deswegen solltest Du erstmal die Grundbegriffe an einem PC lernen, das Wissen laesst sich dann leicht auf die Mikrocontroller uebertragen, aber die Architekturunterschiede sollten Dir natuerlich auch klar sein. Lg, Michael
Ich wollte in Deinem Alter mal C aus nem Microsoft-Benutzerhandbuch lernen hehe aber das waren noch ein bisschen andere Zeiten. Heute hat man ja wesentlich mehr Moeglichkeiten. Wenn Du Fragen hast kannst sie gerne mal loswerden, wenn Du willst: ICQ 307682079. Lg, Michael
@ Michael G. (linuxgeek) >trotzdem, gleich C zu lernen, kannst es ja gleich richtig machen ;) Da kann man auch gleich einem Kleinkind eine 45er Mangnum in die Hand geben, geladen, gespannt und entsichert. :-( Absoluten Anfängern würde ich nicht C empfehlen, auch nicht Assembler. BASIC ist schon OK, für AVRs halt BASCOM. Man will ja auch ein paar Erfolgserlebnisse und nicht nur tonnenweise trockenen Stoff und tierisch Insiderkram. MfG Falk
Hmm... vielleicht installierst Dir ja mal nen Client, interaktiv ist immer besser ;) Aber ansonsten viel Spass.
Falk Brunner wrote: > @ Michael G. (linuxgeek) > >>trotzdem, gleich C zu lernen, kannst es ja gleich richtig machen ;) > > Da kann man auch gleich einem Kleinkind eine 45er Mangnum in die Hand > geben, geladen, gespannt und entsichert. :-( Haben Revolver Sicherungsmechanismen? Das waere mir neu... ;) Solange er nicht in meine Richtung zielt ist es wohl OK. Aber Scherz beiseite, der Punkt ist doch, dass er Mikrocontroller programmieren will und wenn man so low level arbeiten will muss man halt das Drumherum mit aufziehen. Deswegen sag ich ja dass er erstmal am PC anfangen soll. > > Absoluten Anfängern würde ich nicht C empfehlen, auch nicht Assembler. > BASIC ist schon OK, für AVRs halt BASCOM. Man will ja auch ein paar > Erfolgserlebnisse und nicht nur tonnenweise trockenen Stoff und tierisch > Insiderkram. > > MfG > Falk Genau dass der Jung dann so geschaedigt is, dass er ueberhaupt kein strukturiertes Programmieren gelernt hat ;) Ich erinner mich noch an den BASIC-Dialekt der C-Control, grauenvoll... :p
@ Michael G. (linuxgeek) >Haben Revolver Sicherungsmechanismen? Das waere mir neu... ;) Solange er Ala Sledge Hammer: "Vertrauen Sie mir, ich weiss was ich tue. Autsch!" >Deswegen sag ich ja dass er erstmal am PC anfangen soll. Meine Rede. >Genau dass der Jung dann so geschaedigt is, dass er ueberhaupt kein >strukturiertes Programmieren gelernt hat ;) Ich erinner mich noch an den Ich war auch geschädigt als ich auf Pascal umsteigen sollte. Programme ohne Goto? Wie soll das denn gehen? ;-) Aber BASSIC != BASIC. Es gibt auch gute Beispiele. MfG Falk
krase wrote: > Ein Atmega kann sich auch in Software selbst resetten. > Einfach den Watchdog aktivieren und anschliessend warten, bis der > Watchdog auslöst: > > WDTCR = (1<<WDE); > while(1) __asm__("nop"); Da ein Timer bei mir einen Interrupt auslöst in dem der Watchdog bestätigt wird, würde das so nicht gehen. Ich schalte beim Aufruf in die Reset-Routine einfach alle Interrupts ab (8051). Dann startet er auch neu...
Falk Brunner wrote: > Ich war auch geschädigt als ich auf Pascal umsteigen sollte. Programme > ohne Goto? Wie soll das denn gehen? ;-) > Aber BASSIC != BASIC. Es gibt auch gute Beispiele. Genau, literal besteht da ein Unterschied, nur dass ich BASSIC jetzt nicht kenne ;) Was ist denn Deiner Meinung nach der grosse Vorteil von BASIC?
@ Michael G. (linuxgeek) >nicht kenne ;) Was ist denn Deiner Meinung nach der grosse Vorteil von >BASIC? Der Anfänger wird nciht mit zuviel nötigem Wissen überfordert. Print "Hello World!" Print messwert Input zahl ist wesentlich einfacher als printf("Hello World\n"); printf(("Messwert.%2.4f",messwert); scanf("%d",&zahl); Wenn es um die Ausgabe von variablen geht oder erst recht um die Eingabe dann wird noch WESENTLICH kompizierter. Und gerade die freie Pointerhandhabung in C ist alles andere als anfängertauglich. Bei BASIC fängt der Compiler/interpreter die meisten Fehler ab. In C schmiert das Programm sang und klanglos ohne Hinweis ab, wenn man mal wieder den Wert mit Pointern verwechselt hat. Google mal nach "How to shoot yourself in the foot". C ist da ganz oben. Pascal wäre ein Alternative zu BASIC, ist aber nicht mehr ganz zeitgemäss und damit schlecht verfügbar. MfG Falk
Irgendwo hast Du schon recht, die Pointerarithmetik in C ist ein Knackpunkt aber auch ein Feature wenn man so systemnah arbeitet. Man kann am Anfang Pointer aber auch weitgehend meiden, so ist es ja nicht. BASIC schafft Dir halt schneller Erfolgserlebnisse weil man schneller was hinpfuschen kann damit, ob das aber so vorteilhaft fuer den Anfaenger ist sei mal dahingestellt. Gerade da neight man zu "funktioniert, muss passen so". Wenn man sich mit den Grundlagen befasst hat laeuft man weniger Gefahr, gewisse Fehler zu machen. Aber Timo, wenn Du BASIC lernen willst, nur zu, aber dann bin ich nicht Dein Ansprechpartner ;) Da musste dann zu Falk gehen hehe.
@ Michael G. (linuxgeek) >Irgendwo hast Du schon recht, die Pointerarithmetik in C ist ein >Knackpunkt aber auch ein Feature wenn man so systemnah arbeitet. Man Es ist ein offenes Messer! Und das ist bei weitem nicht alles! >was hinpfuschen kann damit, ob das aber so vorteilhaft fuer den In C kann ich auch mordsmässig pfuschen. >Aber Timo, wenn Du BASIC lernen willst, nur zu, aber dann bin ich nicht >Dein Ansprechpartner ;) Da musste dann zu Falk gehen hehe. Wer sich zu wichtig ist für kleine Aufgaben, ist zu klein für wichtige Aufgaben. ;-) Falk
Meine Herren ich hab ja auch mit BASIC angefangen *zugeb. Aber nich weitersagen hehe. Naja damals waren ja auch Entwicklungsumgebungen nicht vorinstalliert und es war das Naheliegende. Aber wir schreiben ja auch nicht mehr 1990 ;)
Timo Teske wrote:
> Aber des STK500 funktioniert soweit ich weiß nur mit C oder???
Nö. Das STK500 funktioniert nur mit Maschinencode. Und ob der aus einer
Assembler- oder Hochsprachen-Quelldatei erzeugt wurde, ist dem Board
völlig egal.
Okay dann schau ich mich ma um wer mir des Programmieren beibringt weil meine freunde sind am selber beibringen gescheitert
Welche Sprache willst Du denn nun lernen? Ich wuerd's Dir ja beibrigen aber ich fuerchte das stellt eher ein praktisches Problem dar *g
Viel Erfolg. Wenn Du fleissig bist gibt es einen Fleiss-Stern: *, in C ein Dereferenzierungsoperator ;)
Naja noch hab ich Dir ja nicht geholfen... ich wuesste auch nicht wie, ich kann kaum jemanden in nem Forum, einem nicht-interaktiven Medium sowas komplexes beibringen, das meinte ich mit "praktisches Problem".
Hoffentlich bereuhst es nicht ;) C ist nicht ganz so einfach zu lernen wie BASIC, aber Du hast auch wesentlich mehr davon, denn die Sprache wird im professionellem Umfeld eingesetzt. Du planst also langfristig ;)
@ Timo Teske (killerbiene007) >dann hab ich wenigstens was gescheites Noch hast du GAR NCIHTS. Ok, doch. Einen langen, steinigen Weg vor dir. Ich empfehle BASIC, z.B. mit BASCOM. Bascom AVR MfG Falk
Falk jetzt verwirr den armen Jungen doch nich so mit Deinen BASIC-Huldigungen hier... wie unverantwortlich :D Erstmal die Grundlagen der Sprache lernen dann kannst Dich den Eigenheiten der Architekturen widmen.
@ Timo Teske (killerbiene007)
>Kann ich auch beides schrittweise zusammen machen???
Wozu? Das irritiert mehr als es bringt. Mach EINS, das aber zu 100% und
richtig. Step by Step . . . uhhh babe ;-)
Mfg
Falk
Hi, aus eigener Erfahrung: ich würd Basic (Bascom) nehmen. Warum? Bvor du mit C auch nur ein Programm compiliert hast (fehlerfrei) hast du die Lust verloren und schmeißt alles in die Ecke. Basic ist viel selbsterklärender wie C. Bei C wirst du dich häufig fragen "Was macht das Programm da?" "Warum macht man das Programm da so?". Wenn du mit Basic anfängst wirst du sehr schnell Erfolge haben die dich ermutigen weiter zu machen. Wenn Basic dann klappt, kannst du auf C umsteigen. Dann wirst du mehr über den Mikrocontroller wissen und mehr übers programieren. Sprich, C ist dann einfacher zu erlernen. Wenn es dich dann ganz gepackt hat das µController Fieber kannste auf Assembler umsteigen. Der Mensch machts ja auch so. Erst Dreirad fahren. Da fällt man nicht um. Dann Fahrrad, weil da stirbt man (meist) nicht wenn man gegen eine Wand fährt. Und zum Schluss dann Auto. Woher ich das weis? Ich mach seit 3 Jahren mit Atmels rum. Mittlerweile bekomm ich das hin was ich will. Am Anfang hab ich aber fast alles hingeschmissen, weil ich mich mehr mit C und Assembler rumgeärgert hab als mit dem was ich machen wollte. Dann kam Bascom (Basic für Atmels) und die Welt war wieder in Ordnung :-) Grüße, Bernd
Als "Fortschritt" wuerde ich es nicht bezeichnen, wenn man unwartbaren Code produziert...
@ Michael G. (linuxgeek) >Als "Fortschritt" wuerde ich es nicht bezeichnen, wenn man unwartbaren >Code produziert... ??? Als ob aller C-Code dieser Welt wartbar wäre . . . Ausserdem, lies nochmal das mit dem Dreirad. MfG Falk
Also C-Code ist sicherlich wartbarer als Assembler. Und Stellen, wo Assembler unvermeidbar ist (wohl selten), kannst man immernoch inline machen.
Mein Tipp: Fang auf dem PC mit was BASIC-Ähnlichem an (Z.B. Visual Basic, da gibt's auch tolle kostenlose Entwicklungsumgebungen). Wenn du erstmal programmieren kannst, kannst du dich mit der Programmierung von Mikrocontrollern beschäftigen. Hier empfehle ich für den Anfang ganz klar Assembler. Nicht weil's besonders leicht ist, sondern weil man ziemlich viel über den Controller lernt. Anfangen würde ich jedenfalls nicht direkt mit einem Mikrocontroller, denn die Debugging-Möglichkeiten sind dort doch sehr eingeschränkt. Am einfachsten wohl noch per USART, aber da braucht man dann auch wieder entsprechenden Code um das Zeug richtig verwenden zu können. Ausserdem noch so nebenbei: Besorg dir ein Buch für den Einstieg. Geht einfach besser als mit elektronischer Literatur. Zu VB findest du z.B. hier einige: http://www.activevb.de/rubriken/buecher/index-buecher.html
Hallo? Der Sprung von VB unter Microsoft auf nem Mikrocontroller... da kann ich Dich gleich von nem Kettcar auf nen Ferrari umsteigen lassen.
@ Michael G. (linuxgeek) >Also C-Code ist sicherlich wartbarer als Assembler. Und Stellen, wo >Assembler unvermeidbar ist (wohl selten), kannst man immernoch inline >machen. Darum geht es doch gar nicht! Es geht um den Einstieg in die Programmierung. Und das ist BASIC nun mal wesentlich besser als C oder ASM. MFG Falk
Michael G. wrote: > Hallo? Der Sprung von VB unter Microsoft auf nem Mikrocontroller... da > kann ich Dich gleich von nem Kettcar auf nen Ferrari umsteigen lassen. Jaja, die ewigen Microsofthasser der Linux-Welt.
Der Punkt ist nur dass ihm das nichts bringen wird wenn er mit nem Microsoft-Tool irgendwas zusammenklicken kann... da haut ihn bestenfalls die Komplexitaet der GUI um und das Wesentliche faellt unter den Tisch. Das hat nichts mit "Microsoft-Hasser" zu tun, das gilt fuer jede komplexe IDE, das ist schlicht und ergreifend nichts fuer Anfaenger.
Okay danke für eure Hilfe aber wenn ihr euch nich einig seid dann entscheide ich es halt selber Ich fang mit C an, weil ich da nen gescheiten ansprechpartner hab der weiß wie es mir als anfänger geht.Find es super das du dich so um mich kümmerst ,Michi Aber trotzdem danke Falk
Isch hab Dir mal ne Nachricht geschiggt... wenn Du Dir nen Chat-Client installierst ist das moeglich. Ein Forum ist da eher weniger geeignet.
Du hast was? Installier Dir halt nen Multi-Messenger, sowas brauchst Du doch sowieso. Verwendest Du Microsoft? Kannst es mal mit Trillian versuchen.
Ich würde unbedingt die Finger von BASIC lassen. Das ich damit mal auf dem C64 angefangen habe, hat mir eigentlich garnix gebracht. Du willst Programmieren lernen, schau dir Delphi (Pascal) an, das ist eine Programmiersprache zum lernen aber nix für Mikrocontroller. Du willst was lernen das von einer breiten Anzahl an Systemen unterstützt wird, relativ schnell ist und einheitliche Implementierungen auf verschiedenen Plattformen besitzt, schau dir C an. Assembler ist ne nette Sache aber imho nicht mehr so wichtig wie vor 10 Jahren und ich behaupte einfach mal das es nicht viele gibt, die besser in Assembler coden können als ein halbwegs versierter Programmierer in C mit Compileroptimierungen.
Vielleicht installierst Dir mal openSUSE 10.3 ;-P http://coremelt.net/opensuse.php oder auch auf den offiziellen Seiten: http://www.opensuse.org Fuer den Anfang soll's aber auch mal ein Messenger tun *g http://www.trillian-messenger.net/de Und ich muss jetzt fleissig Statistik lernen :/ Lg, Michael
Hi michael hab mich mal nach programmierkursen in C erkundigt sind die alle so teuer?(80€ für Kinder)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.