Forum: Mikrocontroller und Digitale Elektronik ATmega48 ext. Oszi. welche Fusebits in Bascom


von Michael (Gast)


Lesenswert?

Hallo,

ich habe da ein sehr großes Problem.

Ich möchte meinen ATmega48 mit einem externen 4Mhz Oszillator
betreiben. Ich programmiere mit Bascom. Dort habe ich schon fast alle
Fusebits die es gibt, für den Takt) ausprobiert. Aber irgendwie macht
er bei allen das gleiche :-( nur beim internen 128khz macht er nichts
mehr (der ist nun halt kaputt habe aber ersatz bestellt). Ok was mache
ich falsch? Momentan habe ich das Fusebit KLA987 auf 0000 also ext.
clock ist das richtig? Das programm schaut so aus:

$regfile = "m48def.dat"
$crystal = 4000000
$baud = 19200

Dim I As Byte                                               'Byte:
0...255




On Urxc Onrxd
'Interrupt-Routine setzen
Enable Urxc                                                 'Interrupt
URXC einschalten
Enable Interrupts
'Interrupts global zulassen
'---------------------------------------------------
Do
I = I
Loop
'---------------------------------------------------
Onrxd:

  I = Udr


  Printbin I

 Return

Wenn ich nun am PC dem ATmega48 was sende kommen meistens nur
schmierenzeichen raus. Naja nicht immer nur die kleinen buschstaben
also abecde...xyz aber die großbchstaben machet er nicht alle da machet
er fast nur kleinbuchstaben.


hoffe ihr könnt mir helfen.

mfg
Michael

von Hegy (Gast)


Lesenswert?

Kenn mich leider mit Bascom nicht aus, aber um den ext. Quarz perfekt am
laufen zu bekommen, setze ich die L-Fusebits (4Mhz o. 7.3278 Mhz) auf
0xE0.

Wenn der AVR einmal auf interne 128kHz eingestellt worden ist, kannst
du z.B. mit dem Galep4 Programmer das wieder zurückstellen, im
Analsektor ist das Teil auf jedenfall nicht.

von Michael (Gast)


Lesenswert?

Hallo,

danke für die Antwort aber ich habe es inzwischen hinbekommen.
Es war noch der frequenzteiler an d.h. die frequenz wurde durch 8
geteilt. Nun ja es geht nun. Der andere ist daher nicht mir 128 mhz
getaktet sondern mit 16 kHz da ist auc mit dem Galep4 nichts mehr zu
machen.

mfg
Michael

von Hannes L. (hannes)


Lesenswert?

> Der andere ist daher nicht mir 128 mhz
> getaktet sondern mit 16 kHz da ist auc mit dem Galep4 nichts mehr zu
> machen.

Wieso nicht? - Kann man den SPI-Takt der ISP-Schnittstelle mit Deinen
Programmen nicht so weit herunterstellen? Suche mal nach Ponyprog und
veryslow, ich meine, gelesen zu haben, dass man Pony damit sehr langsam
machen kann, z.B. für AVRs mit externem Uhrenquarz.

...

von Michael (Gast)


Lesenswert?

hallo,

so weit ich pony prog gesehen habe kann das nicht den atmega48
programmieren. Ich lasse mich aber vom gegenteil überzeugen.

mfg
Michael

von Hannes L. (hannes)


Lesenswert?

> kann das nicht den atmega48 programmieren.

Sorry, stimmt...

Nunja, ich nutze Pony nicht, daher habe ich das nicht gemerkt. Trotzdem
meine ich, dass auch andere ISP-Programme in der Lage sein müssten, den
SPI-Takt zu reduzieren.

Ein ISP-Programm, welches am Printerport den Mega48 flashen kann,
findest Du hier:
http://www.mikrocontroller.net/forum/read-1-418979.html#419396
Ob es den Takt soweit reduzieren kann, weiß ich leider (noch) nicht,
denn ich benutze auch dieses Programm nicht.

...

von Läubi (Gast)


Lesenswert?

Also vieleicht unterstüzt TwinAVR den Mega48... da kannste die ISP
geschwindikeit auf 1khz minimal stellen.

von Hegy (Gast)


Lesenswert?

Wenn die Fusebits schon so verdreht sind, daß man meint, es geht nix
mehr, kommt irgendwo ein Lichtlein her :)))

Es gibt da noch die Möglichkeit der Hochvoltprogrammierung, weiß nicht,
ob's der Galep4 macht, aber meinen ATMeag48 mit total verdrehten
Fusebits hat das Teil wieder geradegebogen, ich glaube auch nicht, daß
man den ATMega mit verdrehen von Fusebits unbrauchbar machen kann. Aber
was solls, was kostet das Teil neu? 1,50€? oder weniger?

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.