-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Atmega16 auf externes quarz schalten?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    04.11.2005
    Ort
    Erlangen
    Alter
    35
    Beiträge
    77

    Atmega16 auf externes quarz schalten?

    Anzeige

    Hallo zusammen,
    eigentlich wollte ich meinen atmega16 nur auf ein externes quarz mit 16 mhz umstellen aber in Bascom finde ich unter den fusebits A987 nur:
    0000 external clock
    0001internal rc os. 1mhz
    0010 internal rc os. 2mhz
    0011 internal rc os. 4mhz
    0100 internal rc os. 8mhz
    und dann nur noch nummer
    0101:0101
    bis
    1111:1111
    was muss ich da nehmen um mein 16mhz externes quarz zu aktivieren?
    1111:1111 denke ich mir bin da aber net sicher.
    wenn jemand kurz antworten könnte bevor ich den atmega in nirvana schick....
    1000 dank

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    1111:1111 iss richtig, das iss external crystal

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    27.02.2006
    Ort
    Gessertshausen
    Alter
    45
    Beiträge
    97
    Hallöle,
    hab ein anderes Problemchen:
    Ich kann über Bascom nur Programme erstellen und kompillieren. Beim Versuch zu brennnen kann er die Fusebits nicht auslesen und ich diese somit auch nicht setzen. Deshalb brenn ich mit PonyProg, wo ich die Bits einzeln setzten muss.
    Versuchsaufbau: Ich lass die zwei LED's abwechselnd mit 500ms Wartezeit blinken. Bei interner Taktung passt die Zeit auch in etwa. Zur externen Taktung muss ich ja CKOPT und CKSEL3-1 schalten. Aber welche bei 8MHz ??? Aus dem Datenblatt vom Mega16 werd ich auch nicht schlau.
    Setzte ich mal alle, dann wird die Wartezeit etwa viermal so lange (ca. 2sec.) und das bei ansich 8facher Geschwindigkeit ?!?
    Was mache ich falsch ???

    PS.: Ich hab das Evaluation-Board von Pollin zum experimentieren.
    Gruß, Berni.
    www.befi-tec.de

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.10.2004
    Ort
    Rheinstetten
    Alter
    34
    Beiträge
    357
    Erkennt deine Bacom Entwicklungsumgebung deinen Prozessor? Oder kommt bei "Run Programmer" eine Fehlermeldung "Could not identify chip with ID:FFFFFF"?

    Dann ist entweder dein Board nicht richtig angeschlossen oder hat keinen Strom bzw. ist nicht eingeschaltet, oder du hast in den Einstellungen für den Programmer nicht den richtigen eingestellt.

    Wenn Bacom deinen Controller erkennt, dann kann er auch die Fusebits auslesen...
    Unwissenheit ist ein Segen

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    27.02.2006
    Ort
    Gessertshausen
    Alter
    45
    Beiträge
    97
    Mit dem Board von Pollin kann der AVR auch programmiert werden. Da dies über den RS232 geschieht und nicht über den LPT wird die Auswahl von Bascom (Demoversion) relativ klein. Dort habe ich alle ausprobiert und die Fuses können von keinem gelesen werden. Das mit dem Erkennen muss ich erst noch ausprobieren.
    Strom ist an allen Punkten ausreichend vorhanden (Hab die 5,25" Blende eines Desktop-PCs mit Buchsen versehen, die direkt mit dem Netzteil verbunden sind).
    Und wie gesagt, das schreiben mit PonyProg funzt ja, ich weiß nur nicht, wie die Fusebits zu setzten sind ?!?
    Mit 1111:1111 kann ich leider nix anfangen, da ich erst ganz am Anfang der Mikroprozessor-Programmierung stehe. Wenn du mir das aufschlüsseln könntest, welcher 1er für was steht, käme ich auch schon ein Stück weiter.
    Gruß, Berni.
    www.befi-tec.de

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    27.02.2006
    Ort
    Gessertshausen
    Alter
    45
    Beiträge
    97
    Erkennt deine Bacom Entwicklungsumgebung deinen Prozessor? Oder kommt bei "Run Programmer" eine Fehlermeldung "Could not identify chip with ID:FFFFFF"?
    Wenn ich nach dem Kompillieren in den Programmiermodus wechsle kommt eine Fehlermeldung, dass der angebene AVR mit dem eingestellten nicht übereinstimmt ( Mega16<>Mega64 ). Klicke ich auf den Chip Identify - Icon passiert gar nix. Ich wähle den Mega16. Wenn ich nun auf das Blatt Fuse/Lock-Bits wechsle, kommt eine Fehlermeldung wie : Kann Mega16 nicht lesen... (den genauen Wortlaut weiß ich jetzt nicht mehr ) und das Blatt bleibt leer. Nachdem ich Bascom auf zwei verschiedenen Rechnern installiert habe und beide den gleichen Fehler bringen gehe ich mal davon aus, daß Bascom nicht mit diesem Evaluation Board umgehen kann.
    Was auch festzustellen ist: ich übertrage bei jedem LED-Wechsel eine Nachricht (LED 1 ein - LED 2 aus und umgekehrt) per print. In einem Terminal sind aber nur die Ziffern sichtbar. Die Buchstaben werden zu Kauderwelsch.
    Gruß, Berni.
    www.befi-tec.de

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    alos das mit dem terminal kann ganz einfach daran liegen, dass du die falsche baudrate eingestellt hast, womit sendest du denn? mit wieviel baud, und den anderen einstellungen?

    kannst du denn per Bascom das teil programmieren, oder geht beides nicht, proggen und fuses?

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    27.02.2006
    Ort
    Gessertshausen
    Alter
    45
    Beiträge
    97
    kannst du denn per Bascom das teil programmieren, oder geht beides nicht, proggen und fuses?
    ...nein, denn wenn er die Fuses nich lesen kann, läßt er auch das Proggen nicht zu
    falsche baudrate eingestellt hast, womit sendest du denn? mit wieviel baud, und den anderen einstellungen?
    ...na so ungeschickt bin ich dann nun auch wieder nicht: programmiert sind 9600 und empfangen im Terminal tu ich auch 9600. Außerdem: wenn ich eine falsche Baudrate einstelle, bekomme ich irgendeinen String der viel länger ist. Ich kann ja zumindest die Zahlen erkennen und die richtige Anzahl an Zeichen überträgt er ja auch. Nur die Zeichen selbst sind Sonderzeichen. Was ich jetzt allerdings in einem anderen Forum gelesen habe kann das auch mit der internen Taktung zusammenhängen, die nicht immer korrekt ist und dadurch Fehler verursacht. Die 100n Abblocker sind jedenfalls anwesend. An denen kanns nicht liegen.
    Gruß, Berni.
    www.befi-tec.de

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    aaalso, in ponyprog musste CKSEL alle auf ohne häkchen, und SUT0-1 auch aus, also ohne häkchen, dann sollte es gehen ^^

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    27.02.2006
    Ort
    Gessertshausen
    Alter
    45
    Beiträge
    97
    aaalso, in ponyprog musste CKSEL alle auf ohne häkchen, und SUT0-1 auch aus, also ohne häkchen, dann sollte es gehen
    ... die waren schon beim ersten Programmieren alle aus.
    Dann müsste aber die Anweisung $crystal keine Auswirkung haben, denn die steht auf 1MHz und es ist ein 8MHz Quarz eingebaut, sprich er müsste dann mit der 8-fachen Geschwindigkeit rechnen. Oder nicht ???
    Gruß, Berni.
    www.befi-tec.de

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •