Also ich hab da nen Hex-file und nen eep file die sollen in den Atmega8 In der Anleitung steht" "Note: For compatibility reason fuses (higher byte only) must be also programmed for ATmega8 processor, (parameters for SP12 -wF11111111), the command line sounds like: sp12 -wF11111111 -wpfC avrot.hex -wefC avrot.eep" Ich hab jetzt aber den USBASP und z.B.das Testmodul radig darin wollte ich das Ding programmieren mit der GUI von Jens In der Anleitung des hex-files steht: sut1=1 Sut0=1 cksel.3=1 cksel.2=1 cksel.1=1 highfusesbyte.=11111111 UNd,man solle die fusebits vor den files programmieren.Ich hab dann versucht in der GUI lower fuse und higherfuse alles auf 1 zu stellen also nix angehakt.Dazu musste ich in den Expertenmodus,um das spien weg zu kriegen,weil nur dann 11111111 da stand Aber leider zeigt das dann Fehler beim setzen der highbits an und beim auslesen ist quasi spien wieder angehakt sodaß da nu nicht 11111111 sondern 11011111 steht Was mach ich da verkehrt?? Alles andere scheint zu gehen. LG Nicola
Carlito Schnipp schrieb: > Dazu musste ich in den Expertenmodus,um das spien weg > > zu kriegen,weil nur dann 11111111 da stand Wenn das SPIEN abgeschaltet ist, war's das mit der Prgrammierung über SPI. Das kann man nicht abschalten! mfg.
upps das ging aber schnell :-) Ja dann geht das quasi garnicht mit dem Highfusesbyte 11111111 Frage mich gerade was der Autor sich dabei gedacht hat. Andererseitz,warum kann man das überhaupt an und abhaken ,wenns doch nicht geht.? Außerdem braucht das Ding ja nur einmal programmiert zu werden und dann nichtmehr ähnlich wie die C-Pic,s Die Frage ist ja nur geht das Programm auch ohne diese Einstellung? Da ist ein 4Mhz quartz in der Schaltung,damit soll das Ding wohl getaktet werden. LG
Warum willst Du mit aller Macht ISP deaktivieren? Und das auch noch, bevor Du (per ISP) das Programm drauf bringst? ...
Jo Hannes,wenn ichs mir so recht überlege,stelle ich mir diese Frage auch gerade. Dann muß ich irgendwas falsch verstanden haben. " Note: For compatibility reason fuses (higher byte only) must be also programmed for ATmega8 processor, (parameters for SP12 -wF11111111), the command line sounds like: sp12 -wF11111111 -wpfC avrot.hex -wefC avrot.eep"" Wo soll da der Sinn sein,wenn danach nix mehr geht? ""Programming sequence: (if you run SP12 under Windows 2000/XP you have to install giveio driver in advance - part of software package) - switch off the AVROT power - start SP12 once to initialize LPT port (write zeroes) - connect programmer to AVROT - switch on the AVROT power (LCD uninitialized) - do programming (start SP12 with required parameters) Example of command that performs programming of flash and EEPROM: sp12 -wpfC avrot.hex -wefC avrot.eep All is done in 20 seconds... Remember: EEPROM must be always programmed after AVR memory clear - it contains all LCD texts! - switch off the AVROT power - disconnect programmer."" Also normalerweise wird der Atmega in de Schaltung programmiert mit so einem Wiederstandsgewurschtel am LPT-port.Hab aber keinen LPT port nur usb,deshalb will ich das mit dem USBasp machen.aber nicht in der Schaltung sondern extern. Hab halt gedacht: "fragst mal hier nach,befor ich den Pavel kontakte
Carlito Schnipp schrieb: > Jo Hannes,wenn ichs mir so recht überlege,stelle ich mir diese Frage > auch gerade. > Dann muß ich irgendwas falsch verstanden haben. Nicht unbedingt. > > " > Note: > For compatibility reason fuses (higher byte only) must be also > programmed for ATmega8 processor, (parameters for SP12 -wF11111111), the > command line sounds like: > sp12 -wF11111111 -wpfC avrot.hex -wefC avrot.eep"" > > Wo soll da der Sinn sein,wenn danach nix mehr geht? Vielleicht will man damit die Spreu vom Weizen trennen? Wer sich nicht auskennt, fällt drauf rein. Es ist also ein Schutz gegen Nachbau durch Unwissende. Aber ich kenne das Projekt nicht und möchte da nicht allzuviel behaupten. > > ""Programming sequence: > (if you run SP12 under Windows 2000/XP you have to install giveio driver > in advance - part of software package) > - switch off the AVROT power > - start SP12 once to initialize LPT port (write zeroes) > - connect programmer to AVROT > - switch on the AVROT power (LCD uninitialized) > - do programming (start SP12 with required parameters) > Example of command that performs programming of flash and > EEPROM: > sp12 -wpfC avrot.hex -wefC avrot.eep > All is done in 20 seconds... > Remember: EEPROM must be always programmed after AVR memory clear - it > contains all LCD texts! > - switch off the AVROT power > - disconnect programmer."" > > Also normalerweise wird der Atmega in de Schaltung programmiert mit so > einem Wiederstandsgewurschtel am LPT-port. Nicht unbedingt, es gibt auch ISP-Programmer mit eigener Intelligenz, die ohne Wi(e)derstandsgewurschtel auskommen, ohne Bitbanging arbeiten und somit auch an modernen PCs (ohne LPT und COM) funktionieren. Ich nutze z.B. das STK500 und den AVR-Dragon. > Hab aber keinen LPT port nur > usb,deshalb will ich das mit dem USBasp machen.aber nicht in der > Schaltung sondern extern. Der USBasp ist doch auch für ISP in der Schaltung geeignet. Wenn mir einer vorschreibt, ich soll mit dem ISP-Programmer den ISP-Modus des AVRs deaktivieren, bevor ich das Programm flashe, dann sinkt mein Vertrauen auf Null. Dann soll er sich sein Projekt in die Haare schmieren. > > Hab halt gedacht: "fragst mal hier nach,befor ich den Pavel kontakte ...
Ich werd dem Fritzen mal auf sen Zahn fühlen und erstmal ohne isp killig versuchen. Andererseits,kann ich mir nicht vorstellen,daß ein OM mit eingetragenem Int.Rufzeichen blödsinn verzapft,ohne da schnell mal auf´s Füsschen getreten zu bekommen.anyway! Vlt geht die Sache ja auch ohne Highbyte fuse 11111111 Vielen Dank erstmal
Du solltest die Fuses nicht als geheime magische Zahl betrachten, sondern die Bedeutung jedes einzelnen Bits ergründen. Die Erklärung findest Du im Datenblatt des Controllers, einmal zusammengefasst im Kapitel Fusebits, dann detailliert in den einzelnen Kapiteln zu der Hardware, auf die das jeweilige Fusebit wirkt. Mit Bleistift, Papier und etwas Fleiß bekommst Du die Infos schnell zusammengetragen. Es ist durchaus möglich, dass es keine böse Absicht des OMs war, sondern dass er das einfach übersehen hat. Und funktionieren tut es trotzdem, weil das Verändern der SPIEN-Fuse im ISP-Modus gesperrt ist, dazu braucht es den Hochvolt-Programmiermodus (parallel beim großen AVRs, seriell bei kleinen AVRs, wo die Pins für parallel nicht ausreichen, siehe Datenblatt des AVRs). Andererseits ist es auch bei Funkamateuren beliebt, einen kleinen Fehler einzubauen, den Insider sofort erkennen und korrigieren, an dem sich Unwissende aber schon mal die Zähne ausbeißen. Das dient trotz HAM-Spirit der Selektion des Nachnutzerkreises und Schutz des geistigen Eigentums. Wie es im Einzelfall aussieht, weiß ich nicht, es interessiert mich auch nicht wirklich. Ich würde auf Kontaktaufnahme verzichten. Mach' Dich betreffs Fusebits sachkundig (Fachwissen schadet nie), überprüfe seine Vorgabe auf Plausibilität und korrigiere den evtl. vorhandenen Fehler. ...
So hab jetzt diesen Parallel dongle gebastelt und nen alten PC aus´m Keller geholt mit Parallelschnitstelle,dann den Atmega in die Schaltung gestöpselt und probiert. Der hat auch gebraten,allerdings gabs ne Fehlermeldung bezüglich der Fusebits Wrong number of fusbit wF11111111 Da ich den Befehl mit copy and paste eingegeben hab, kanns nur sein ,daß der Autor Müll fabriziert hat. Naja im Wörtchen Funkamateur steckt ja das Wort AMATEUR. Werd das Projekt begraben Vielen Dank für di Hilfen LG
Carlito Schnipp schrieb: > Naja im Wörtchen Funkamateur steckt ja das Wort AMATEUR. > Werd das Projekt begraben Ersteres würde ich nicht behaupten. Ich habe an der Uni in den Anleitungen zu den Praktika auch schon an 2-3 Stellen Fehler entdeckt. Und die wurden teilweise von renommierten Profs oder Lehrbeauftragten aus der Industrie erstellt. Wir sind auch nur Menschen, dürfen also Fehler machen. Dabei bin ich keineswegs der Meinung, mein generelles Kompetenzniveau liege über dem der Profs und LB. Zweiteres finde ich darüberhinaus sehr schade. Versuchs doch mal mit einer anderen Flasher-/Brenner-Software, wie z.B. AVRDUDE oder PonyProg2000. Für AVRDUDE gibt es bisweilen sehr gut gemachte Grafische Benutzerinterfaces, die gleich eine Kurzerklärung zu den Fuses bereitstellen. Bei Ponyprog, welches gleich eine GUI besitzt, muss man nur beachten, dass ein Haken bei den Fuses bedeutet, dass das betreffende Bit = 0 ist. mfg mf
> "Note: > For compatibility reason fuses (higher byte only) must be also > programmed for ATmega8 processor, (parameters for SP12 -wF11111111), the > command line sounds like: > sp12 -wF11111111 -wpfC avrot.hex -wefC avrot.eep" ^ Programmiert nicht die high fuse > -wF1... 1 bedeutet unprogrammed. Den Resetpin kann man so nicht disablen. Dazu müsste man an der entsprechenden Position in der richtigen Fuse eine 0 verwenden. > Wrong number of fusbit wF11111111 Auch ein Spezialfall der SP12 Software. Die Anzahl der erlaubten Bits ist vom verwendeten AVR abhängig. Am einfachsten findet man diese Zahl heraus, wenn man die Fusebits mal aus liest und dann diese wieder zurück schreibt. Also Doku des SP12 lesen und anwenden. Die Anleitung des Originalautors ist IMHO keine exakte Anleitung welche Fuses zu setzen sind, sondern eine aus dem Gedächnis geschriebene Notiz, dass du das Setzen der Fuses nicht vergessen sollst, wenn der Atmega8 kompatibel zum vorher verwendeten xxx funktionieren soll. Und dass sie Syntax in etwa wie angegeben ausgesehen haben könnte, als der Autor das Projekt erstellt hat. Wenn es ein freies Projekt ist, kannst du ja noch einen Link zu dem Projekt nachschieben und ich schaue mir an, welche Fuses Sinn machen. > Vielleicht will man damit die Spreu vom Weizen trennen? Wer sich nicht > auskennt, fällt drauf rein. Es ist also ein Schutz gegen Nachbau durch > Unwissende. Aber ich kenne das Projekt nicht und möchte da nicht > allzuviel behaupten. Das wenige ist schon fies genug :(
> The heart of controller is a single chip RISC controller AVR AT90S4433, > manufactured by Atmel. => AT90S4433 ersetzt durch Atmega8 Programmierung des AT90S4433 > sp12 -wpfC avrot.hex -wefC avrot.eep Unter dem Link gibt es keine Angaben zu einer speziellen Taktquelle. Schaltplan sehe ich keinen bzw nur Verweis auf ein Funkamateur-Heft aus 2000. Die Programmierung geht im Link auf Fuses nicht ein. d.h. wohlmöglich keine Änderung der Fuses des AT90S4433. AVR081: Replacing AT90S4433 by ATmega8 - Atmel Corporation http://www.atmel.com/dyn/resources/prod_documents/doc2515.pdf Relevant ist Table 5 letzte Spalte. Anzupassen ist die Taktquelle auf den Takt, der beim AT90S4433 verwendet wurde bzw. was in der Source (sehe ich auch keine) verwendet wird.
Vielleicht sollte man den Autor der Seite mal anschreiben, dass er ueber seine Projekte einen Zusatz setzt. *Fuer Kinder unter 6 Jahren und Menschen, die nicht selbststaendig denken koennen, nicht geeignet* SP12 ist eben nicht PonyProg oder AVRDude. So sollten die Settings funktionieren. lfuse: 0x7d hfuse: 0xd9 http://www.engbedded.com/fusecalc/ Im Uebrigen finde ich es sehr arm, Projekte die man quasi fertig auf's Auge gedrueckt bekommt, schlecht zu machen, nur weil der copy n paste Nachbauer keine 3min investiert, um sie zu verstehen. Solche Menschen verdienen es nicht anders, massig Geld und Zeit auszugeben um es dann mangels Eigeninitiative in die Tonne kloppen zu duerfen. >>>=> AT90S4433 ersetzt durch Atmega8 Ach das auch noch. Au man.
Also welche Taktquelle, Brownout nötig usw. musste ich schon bei mehreren Nachbau-/DIY-Projekten selbst herausfinden. Ein bisschen Reverse Engineering kann nicht schaden. Manchmal habe ich bewusst andere Werte genommen, als angegeben. Wenn ich z.B. weiß, dass ich den Atmel in sehr EMV-verseuchter Umgebung betreiben werde, setze ich eben CKOPT für den "fullswing crystal oscillator". Im Original-Projekt war das in dem Fall anders. mfg mf
>>>>=> AT90S4433 ersetzt durch Atmega8 >Ach das auch noch. Au man. Nicht so schlimm wie es sich anhört, bzw. es ist ein "historisches" Projekt, das aber durchaus noch nützlich sein kann. Zum Zeitpunkt des Projekts war AT90S4433 anscheinend noch Stand der Technik. Der FA-Artikel ist aus 2000 und da war das Projekt bereits aufgebaut... Der Autor unter dem Link hatte selbst noch eine Anpassung auf den Atmega8 gemacht, nachdem der AT90S4433 nicht mehr erhältlich war.
Finde ich jetzt auch nicht sonderlich schlimm, aber haette man in der Frage zumindest mal erwaehen koennen. So bin ich jetzt einfach davon ausgegangen das das .hex und .eep fuer einen ATmega8 ist und einfach nicht lief, weil die fuse-settings nicht stimmen. Ich weiss nicht in wie weit die beiden kompatibel sind, aber wenn der Quelltext angepasst werden muss, dann nuetzen auch die richtigen fuse - settings nichts. Eine Angabe des Links, von der das Projekt stammt, halte ich auch fuer selbsverstaendlich. Allein schon als Dankeschoen fuer die Arbeit des Autors. Welche Software er da flashen will wissen wir ja noch immer nicht.
Mini Float schrieb: > Zweiteres finde ich darüberhinaus sehr schade. > Versuchs doch mal mit einer anderen Flasher-/Brenner-Software, wie z.B. > AVRDUDE oder PonyProg2000. Die Seite habe ich von hier: http://www.dxzone.com/cgi-bin/dir/jump2.cgi?ID=22700 Ja hab ich schon.Z.B mit dem Ponyprog200 und dem JDM,leider ging das nicht bzw lies sich zwar programmieren,aber funzte dann nicht.Später versuchte ich dann den Atmega mit dem USBASP anzusprechen,aber leider hab ich ihn irgendwie verfust,er wird nicht mehr erkannt :-)(beim Pony heist haken gesetzt 0,Haken nicht gesetzt 1) Naja es ist mir um des Geldeswillen nicht so arg,wenn mal was nicht funktioniert,die Kosten,sind ja marginal. Außerdem,will ich das Projekt des Autors nicht unbedingt zerreißen,obwohl ich natürlich leicht angesäuert war.Hab den Mund mal wieder zu voll genommen.Andererseits,wenn man schon was ins Netz stellt,sollte es auch irgendwie Rund sein Und weil ich mommentan an einer ähnlichen Schaltung sitze,die ich auch irgendwie nicht richtig zum Funktionieren bringe,muß ich mich für eine entscheiden und die Andere zumindest mal in die Ecke legen. Und das ist diese hier: http://www.df0fkw.datenoase.de/index.php?option=com_content&view=article&id=75:low-cost-eigenbau-antennenrotor-fuer-satellitenfunk-&catid=36:bastelprojekte&Itemid=67#josc210 Jetzt erzählt mir bloß nicht,daß das nix für Anfänger ist,ich hab den Verfasser auch schon total zugetextet mit Fragen.Außerdem,hab ich schon etliche Projekte aus z.B der Elektor Bzw hier aus dem Forum mit Erfolg nachgebaut und die gehen Wunderbar! Es ist ja auch nich so,daß ich mich nicht mit der Materie befassen will,aber das Thema ist eigentlich derart komplex,daß ich eigentlich das Projekt in die Ecke legen müsste und mich erstmal min 1/2 Jahr mit µc,s und Elektronikgrundlagen beschäftigen müsste.Und gegen reine Theorie,hab ich irgendwie ne Abneigung,geb ich ja zu.Wie auch immer! Anfänger zahlen Lehrgeld(wie schon erwähnt wurde) Na und? Ich hab halt nu mal die Werkstatt,die Ausrüstung und etliche tausende Teile für lau übernommen,Zeit hab ich auch,also muss das irgendwie parallel laufen
Ach ja, was mir noch einfällt1 Viele Projekteim Netz mit µc´s haben ja ein hexfile dabei,während der Verfasser den Quellcode nicht veröffentlicht.Dann sollte der schon funktioniern,sonst macht das keinen Sinn,da man dabei ja eh nix verändern kann.Und wenn man fit genug ist was selbst zu schreiben,kann man geich ´n eigenes Projekt machen. Also ich mache da schon einen Unterschied zwischen einer Projektvorstellung als Anregung zur Eigenentwicklung und einer Beschreibung eines Projektes mit Anleitung,Schaltplan layout und programm.Da wird man sich doch,auch wenn da kein Rechtsanspruch drauf besteht mal aufregen dürfen wenn´s net hinhaut wie es soll;-)
Peter W. schrieb: > So bin ich jetzt einfach davon > ausgegangen das das .hex und .eep fuer einen ATmega8 ist und einfach > nicht lief, weil die fuse-settings nicht stimmen. > Ich weiss nicht in wie weit die beiden kompatibel sind, aber wenn der > Quelltext angepasst werden muss, dann nuetzen auch die richtigen fuse - > settings nichts. Auf der Seite steht ganz klar: Zitat: - Migration to processor type ATmega8 (AT90S4433 is no more available) - no changes in circuit diagram / PCB necessary - Longer access time for LCD module to perform the action (reported some LCD modules are not fast enough) - Minor modification of status message Note: For compatibility reason fuses (higher byte only) must be also programmed for ATmega8 processor, (parameters for SP12 -wF11111111), the command line sounds like: sp12 -wF11111111 -wpfC avrot.hex -wefC avrot.eep Zitat:ende Wobei bei der Fehlermeldung die ich bekam, davon ausgehen kann,daß der Verfasser,wie schon vermutet dies aus dem Bauch heraus geschrieben hat und selbst nicht überprüft hat.Obendreien,kenne ich das von Pic, so,daß die Konfiguration im hex-file vorhanden ist und da Normalfall nix dran gedreht werdem muss! Helfer schrieb: > Unter dem Link gibt es keine Angaben zu einer speziellen Taktquelle. > Schaltplan sehe ich keinen bzw nur Verweis auf ein Funkamateur-Heft aus > 2000. Die Programmierung geht im Link auf Fuses nicht ein. d.h. > wohlmöglich keine Änderung der Fuses des AT90S4433. Taktquelle ist ein 4Mhz quarz Komunikation geht über einen Max232,der auch gleich die Neg kontrastspannung bereitstellt.Das Ganze auf einer schön kleinen doppelseitigen Platine mit unstandartmässigem ISP Anschluss,ader dann quasi direkt mit der Lpt schnittstelle verbunden wird schaltplan: http://ok1dx.dyndns.org/constructions/avrot/AVROT%201_4.pdf
Peter W. schrieb: > So sollten die Settings funktionieren. > > lfuse: 0x7d hfuse: 0xd9 > > http://www.engbedded.com/fusecalc/ Das habe ich probiert und das klappte prima. Vielen Dank nochmal dafür. mit dem fusecalc werd ich mich mal mehr beschäftigen müssen(hab mir ja extra die Testplatine gebaut),aber erstmal will ich verständlicherweise die Schaltung zum rennen bringen. Und weil das Display immernoch nur Balken anzeigt,werd ich da wohl noch bissel was drannsitzen LG
> mit dem fusecalc werd ich mich mal mehr beschäftigen müssen
Nein, Du solltest die zwei Seiten im Datenblatt lesen, dann brauchst Du
auch keinen fuse-calculator. Den hatte ich Dir nur angehangen, weil ich
nicht weiss mit welchem Programm Du diese setzt.
Carlito Schnipp schrieb: > Obendreien,kenne ich das von Pic, so,daß > die Konfiguration im hex-file vorhanden ist und da Normalfall nix dran > gedreht werdem muss! Ist bei den Atmels nicht so. Man kann einige Optionen, die mit den Fuses möglich sind, per Software während das Programm läuft, deaktivieren(betrifft insbesondere Debug-Schnittstellen). Der Schaltplan ( Carlito Schnipp schrieb: > schaltplan: > http://ok1dx.dyndns.org/constructions/avrot/AVROT%201_4.pdf ) enthält den berühmten "AVCC mit AREF verbunden" Fehler. Das muss man nicht machen, das geht auch per Software. Habe mi jetzt den Code nicht angesehen. Gefährlich deswegen, weil sich auch die interne Referenzspannung auf dem AREF-Pin herausführen lässt. Ein Bit im falschen Register zur Falschen Zeit gesetzt heißt qualvoller Tod für den Atmega. Weiß jetzt aber nicht wie das beim AT90Sdingsda ist. Nachdem ich den Schaltplan gesehen habe, tippe ich auf folgendes Fusing: (x = gesetzt, bei "mehrbittigen" Fuses mit Notiz erklärt) x SPIEN x CKOPT (Frequenz größer als 3MHz) x EESAVE(EEPROM bei neuem flashen erhalten(Winkel-Einstellungen etc.)) CKSEL[3..0] = 1111 (Ext. High-Freq. Crystal) Ab jetzt kannst du dich entscheiden: SUT[1:0] = 10 -> 16k Clocks + 4ms SUT[1:0] = 11 -> 16k Clocks + 64ms * Beispielerklärung: *lässt den Quarz in 64ms anschwingen, danach werden wie "Warmstart" direkt nach Reset 16000 Clocks abgewartet, bis losgelegt wird. mfg mf
Mini Float schrieb: > CKSEL[3..0] = 1111 (Ext. High-Freq. Crystal) Hm so ganz blick ich da net durch.Stehen die 4 einsen für je Cksel3...cksel2..cksel1 usw=? Also 0001 wäre dann cksel0 gesetz alle andern nicht bei int takt zB? Also bei der Site die Peter.W erwähnte http://www.engbedded.com/fusecalc/ kommt mit dieser Einstellung raus L 0x6f h 0xc7 Bzw L 0x7f h 0xc7 Und wieviel Mhz entsprechen low mid oder highfrequenz? Ich meine im vergleich,mit 16Mhz wär das ja eher low oder mid? .Ich muss mich noch mehr einlesen Jedenfalls habe ich mir heut Nachmittag ne Platine gemacht von dieser Seite hier. http://www.der-hammer.info/hvprog/index.htm Glaub das ist extra für Leute wie mich,damit, sie keine Atmels verjodeln können ;-) LG
>> Und wieviel Mhz entsprechen low mid oder highfrequenz? Ich meine im >>vergleich,mit 16Mhz wär das ja eher low oder mid? .Ich muss mich noch >>mehr einlesen Hab ich mich auch immer gefragt, zumal da nix besonders hohes angeboten wird. Die erfahrung zeigt aber, dass alles über 4 als High angesehen werden kann. Gruss Klaus p.s. Wie Hannes Lux dass schon schrieb: Es lohnt sich zu verstehen was die Fuses bedeuten. Es sind eigentlich nur ne Art Eprom, die dem Prozessor sagen, wie er starten soll.
Carlito Schnipp schrieb: > Hm so ganz blick ich da net durch.Stehen die 4 einsen für je > Cksel3...cksel2..cksel1 usw=? Also 0001 wäre dann cksel0 gesetz alle > andern nicht bei int takt zB genau. wobei 0 Programmiert heißt und 1 nicht programmiert. Das kommt aus Eprom-Zeiten: Hatte man einen Eprom mit UV-Licht gelöscht, standen alle Bits auf 1(jede Speicherzelle enthält 0xFF). Man musste nun nur die Bits, die 0 sein sollten bzw. Bytes, die was anderes als 0xFF enthalten, brennen. Ich sehe die Fuses nur als "Konfigurationsspeicher" und kein Konstrukt aus realen "Sicherungen". Das kommt eher aus der GAL- und PAL-Welt. Carlito Schnipp schrieb: > Und wieviel Mhz entsprechen low mid oder highfrequenz? Ich meine im > vergleich,mit 16Mhz wär das ja eher low oder mid? .Ich muss mich noch > mehr einlesen Schau dir das Atmega8 Datenblatt genau an. Dann weißt du eh mehr Bescheid als jeder Fusecalculator dieser Welt über den Atmega8 weiß. Also: Wenn ein Quarz verwendet wird(Crystal resonator, nicht Ceramic) gibt es ab 3MHz für CKSEL[] nur diese Einstellung: CKSEL[3..0] = 1111 (Ext. High-Freq. Crystal) und für SUT[] nur 3 Einstellungen: SUT[1:0] = 01 -> 16k Clocks + 0ms <= SUT[1:0] = 10 -> 16k Clocks + 4ms SUT[1:0] = 11 -> 16k Clocks + 64ms Die erste Option(<=) fällt weg, da das Datenblatt sagt: machst du nur wenn Brownout Detection angeschaltet ist, was wir ja nicht haben. Ich habe nun mit fusecalc ermittelt: Lo: 0xEF Hi: 0xC9 oder Lo: 0xFF Hi: 0xC9 Damit ist SPI angeschaltet, CKOPT aktiviert, BOOTSZ steht noch auf default Werten(verwenden wir auch nicht, jedenfalls hast du nix von nem bootloader erzählt). mfg mf PS: wenn EESAVE an sein soll, muss das Highbyte natürlich 0xC1 sein(beide Fälle)
Hm..ckopt könnte ma auch weglassen denke ich soll strom sparen hab ich gelesen. Jo das Dtenblatt,hab ich ehrlicher weise noch nicht so genau gelesen.Mit diesem Fachenglisch hab ich so meine probleme Also wenn ich das mal alles so zusammenfasse,was ich bissher las,sollte mann eigentlich nur von spien und rstdsb die Finger lassen,sofern man externe Taktquellen nutzt? oszillatoren hab ich hier zm Glück massenweise rumliegen Um nochmal auf die o.g Schaltung zu kommen Ich denke der kann mit 11111111 nur die l-fuses meinen Demnach käme ich af 0xff und 0xdf Also nochmal: Note: For compatibility reason fuses (higher byte only) must be also programmed for ATmega8 processor,(soll wohl heissen nur an den H-fuses muss gestellt werden) command line sounds like: sp12 -wF11111111 -wpfC avrot.hex -wefC avrot.eep(soll dann also heissen L-fuses sind alle nicht gesetzt,H-fuses je nach dem) und dann .hex und .eep laden. So würde ich das mal rein subjektiv interpretieren. Tatsache ist,das morgen meine Teile vom Reichelt kommen und ich erstmal den Hammer HV-Prog zammschustern werde.Und dann kann mich nix mehr aufhalten :-)
Solange Du die Fuses nicht bitweise und einzeln betrachtest, wirst Du Deine Missverständnisse nicht los. Da wird Dir auch der Hammer-Brenner nicht helfen. Die Fuses sind nunmal die Konfigurations-Schalter, mit denen die Betriebsart des AVRs eingestellt wird. Wie willst Du ein Gerät bedienen, dessen Schalter Du nicht kennst? Wenn Du Dich auf Andere verlässt, dann bist Du verlassen. Da bleibt nur ein Weg: Sich selbst sachkundig zu machen. Und ja, mittels CKOPT kann man Strom sparen. Aber von nix kommt nix, ein auf Sparflamme laufender Oszillator neigt eher zum Aussetzen als ein mit voller Amplitude schwingender. Und nein, ein AVR ist kein Multimedia-Konsum-Gerät, was sich intuitiv (und mit "mal probieren") bedienen lässt. Zum souveränen Umgang mit AVRs ist Fachwissen und Verständnis erforderlich. Wenn schon das "Fachenglisch" das KO-Kriterium ist, dann sollte man darüber nachdenken, ob es nicht sinnvoller ist, sich stattdessen lieber einen neuen Klingelton zu gönnen. Also nimm Dir Stift und Papier und schreibe Dir die Fusebits aus dem Datenblatt heraus. Und schau nicht nur bei der Zusammenfassung im Kapitel Programmierung/Fusebits, sondern auch in den einzelnen Kapiteln, in denen die Hardware beschrieben ist, auf die das einzelne Fusebit wirkt. Alles Andere führt zu nichts. ...
Jo,das war deutlich! Werd ich mir zu Herzen nehmen Und das mit dem HV-prog ist ja nur,um evntl verjodelte µc´s wieder zu aktivieren Das Englisch ist kein KO kriterium,sondern erschwert die Sache nur,was im Endeffekt bedeutet,daß einfach mehr Zeit ins Lande geht.Aber Rom,ist ja auch nicht an einem Tag erbaut worden.Außerdem,hab ich auch schon einige Texte in Deutsch zu dem Thema gefunden,mir das Testbord für den Atmega8 gebaut,fange also mehr oder weniger erst an.Nichtsdestotrotz,möchte ich natürlich angefangene Sachen auch mit Erfolg zu ende bringen,nur deshalb kam ich überhaupt zu dem ganzen Thema. Wenn es von vorneherein nur um µc´s gegangen wäre,hätte ich mit Theorie und einer einfachen selbstprogrammierten Blinkschaltung angefangen.
So Nach dem ich nu mit einigen Fuse-Einstellungen probiert habe,hab ich immernoch keine vernünftige Disp-Anzeige Das bringt mich zu dem Schluss,daß nur was mit der Schaltung sein kann. Nach dem ich zum wiederholten Male den Schaltplan und die Leiterplatte untersucht habe,ist mir aufgefallen,daß die Datenport´s PD4-7 für das Disp genutzt werden.Diese sind im Plan am Displ-con mit D0-D3 eingetragen und so,hab ich sie auch am LCD angeschlossen. Jetzt hab ich aber überall gelesen,daß ein Displ welches im 4-Bit Modus betrieben wird die Datenleitungen D4-D7 benutzt und D0-D3 unbeschaltet sind. Sollte ich deshalb mal die Dateneingänge tauschen?.Der Rest dürfte richtig sein RS-an RS, STB-an E, R/W an GND.Led und kontrast geht. Noch ne Frage bezgl.Des Atmega8: Ist es eigentlich egal,was man zuerst programmiert also flash,eeprom,fuse´s oder ist das Wurscht? LG
Carlito Schnipp schrieb: > So Nach dem ich nu mit einigen Fuse-Einstellungen probiert habe, Probieren ist falsch, da besteht die Gefahr, dass man sich aussperrt. Hier ist Wissen (Lesen und Verstehen) angesagt, ist auf die Dauer billiger. > hab ich > immernoch keine vernünftige Disp-Anzeige > Das bringt mich zu dem Schluss,daß nur was mit der Schaltung sein kann. > Nach dem ich zum wiederholten Male den Schaltplan und die Leiterplatte > untersucht habe,ist mir aufgefallen,daß die Datenport´s PD4-7 für das > Disp genutzt werden.Diese sind im Plan am Displ-con mit D0-D3 > eingetragen und so,hab ich sie auch am LCD angeschlossen. > Jetzt hab ich aber überall gelesen,daß ein Displ welches im 4-Bit Modus > betrieben wird die Datenleitungen D4-D7 benutzt und D0-D3 unbeschaltet > sind. Dies ist richtig und das kannst Du auch in den Datenlättern der LCD-Module verschiedener Hersteller nachlesen. > Sollte ich deshalb mal die Dateneingänge tauschen?. Ja sicher doch, im 4-Bit-Modus wird das LCD über Bit 4-7 angesprochen, siehe Datenblätter der LCDs, andere Projekte und auch gewisse Totorials. > Der Rest dürfte > richtig sein RS-an RS, STB-an E, R/W an GND.Led und kontrast geht. > > Noch ne Frage bezgl.Des Atmega8: > Ist es eigentlich egal,was man zuerst programmiert also > flash,eeprom,fuse´s Das kommt auf die Situation an. Ist die EESAVE-Fuse nicht aktiv (Auslieferungszustand), dann wird beim Chip-Erase der EEPROM gelöscht. Viele Programmer führen beim Beschreiben des Flash das Chip-Erase automatisch aus. Wurde der EEPROM vorher beschrieben, dann ist er natürlich wieder gelöscht. Also immer erst Chip-Erase, dann Flash, dann EEPROM, dann Fuses, dann Lockbits, falls erforderlich. > oder ist das Wurscht? Neee, nicht immer. > > LG ...
Hannes Lux schrieb: > Probieren ist falsch, da besteht die Gefahr, dass man sich aussperrt. > Hier ist Wissen (Lesen und Verstehen) angesagt, ist auf die Dauer > billiger. Ja genau das habe ich ja,also Sinvolle fuses probiert M.E sind die Fuses nicht so relevant,solange ext takt durch Quarz und evntl ckopt,alles Andere wird so wie ich das sehe garnet gebraucht. Was mir jetzt noch nicht ganz Klar ist,ist das mit dem BOOTRSC Wird das nur gebraucht,wenn ein Bootlader oder so genutzt wird? Hannes Lux schrieb: > Ja sicher doch, im 4-Bit-Modus wird das LCD über Bit 4-7 angesprochen, > siehe Datenblätter der LCDs, andere Projekte und auch gewisse Totorials. Genau das las ich im Datenblatt ,die Frage war ja auch nur:"im 4-Bit-Modus wird das LCD über Bit 4-7 angesprochen" oder" im 4-Bit-Modus wird das LCD NUR über Bit 4-7 angesprochen? Überall wo ich was las,ging´s immer nur um Bit4-7 Also werd ich das mal umlöten,denn auf dem Board ist ne LED,und die geht genau in dem Moment an,wenn das EEP programmiert ist und der controller startet.Somit denke ich mal,daß der µc geht und es nur die Datenleitungen sind
Carlito Schnipp schrieb: > Hannes Lux schrieb: >> Ja sicher doch, im 4-Bit-Modus wird das LCD über Bit 4-7 angesprochen, >> siehe Datenblätter der LCDs, andere Projekte und auch gewisse Totorials. > > Genau das las ich im Datenblatt ,die Frage war ja auch nur:"im > 4-Bit-Modus wird das LCD über Bit 4-7 angesprochen" oder" im 4-Bit-Modus > wird das LCD NUR über Bit 4-7 angesprochen? Überall wo ich was > las,ging´s immer nur um Bit4-7 NUR über das High-Nibble, was Anderes habe ich noch nicht gesehen. Ich hänge Dir mal eine Kurzanleitung an. > Also werd ich das mal umlöten,denn auf dem Board ist ne LED,und die geht > genau in dem Moment an,wenn das EEP programmiert ist und der controller > startet.Somit denke ich mal,daß der µc geht und es nur die > Datenleitungen sind Ja, mach... ...
Carlito Schnipp schrieb: > Dat war´nix! > Nur schw Balken. Werd' mal konkret. Wie "schw Balken"? Nur obere Zeile? (Initialisierung stimmt nicht) Beide Zeilen? (Kontrast stimmt nicht) Bring doch mal ein eigenes Programm rein um das LCD zu testen. Denn wer weiß, ob das "Gefundene" überhaupt läuft. Es gibt viel Müll im Netz. ...
Schwarze Balken meint beim rehöhen der -vo kommen dann irgendwann 2 Balken.Also ganz normal Das Display ist YL162-90 vom pollin das hatte ich bis letztens am Transistortester vom Markus mit 2 Batterien wegen Neg-kontrastspannung. Dort hab ich jetzt das Blaue reingemacht und somit dieses hier frei,zumal der Max202 auf dem Bord ja Neg zur Verfügung stellt.Kontrast und Hintergrund gehen also.Die Datenleitungen habe ich jetzt nicht so angeschlossen wie im Schaltplan, sondern D0 auf D4, D1 auf D5 D2 auf D6 D3 aud D7...des Display´s............schwarze Balken heist somit auch: Kein Text :-(
Endlich hab ich´s Hatte am ende n pin zuviel ;-) ez geht alles.Serial muss ich noch testen,aber das Displ geht und jetzt sehe ich auch,daß das programm im Atmega funzt Vielen Dankeschön,auf jeden Fall,hab ich jetzt schon ne Menge über Avr´s gelernt LG
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.