-
MEGA8 hängt sich auf
Hallo,
ich hab ein kleines problem und zwar will ich mit einen mega8 daten über spi senden. das programm läuft fehlerfrei bis es beim ersten spiout ankommt.
mache ich dann ein reset des mega8 läuft er stundenlange fehlerfrei weiter.
das problem macht er nur beim einschaten.
kann ich irgendwelche fusebits falsch gesetzt haben?
gruss
markus
-
Hi,
kannst du den Code evtl mal reinstellen? Vielleicht ist da ja irgendwo was verkehrt oder evtl auch die Schaltung...
Gruss,
wanderer
-
Riecht nach irgendwelchen nicht initalisierten Registern oder Speicherplätzen...
-
Code:
'Grundeinstellungen und Variablendefinitionen
$baud = 9600 'Baudrate der UART: 9600
$regfile = "m8def.DAT" 'ATmega8-Deklarationen
$crystal = 8000000 'Quarz: 8 MHz
Declare Sub Mcp2515_init()
'Aliasse für die Ports
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Clockrate = 4 , Noss = 1 'Test mir Atmega wegen HardwareSPI
Cs_line Alias Portd.3
Config Cs_line = Output 'ss cs
Print "Hallo SPI TEST(CAN) RX Stauts 250kbits für atmega8 register auslesetest"
Spiinit
Set Cs_line
Waitms 20
Mcp2515_init
Sub Mcp2515_init()
Dim Mcp2515_reset As Byte
Mcp2515_reset = &HC0
Print "init"
Reset Cs_line
Spiout Mcp2515_reset , 1
Set Cs_line
print "init fertig"
....usw aber soweit kommt das programm ja leider nicht
end sub
beim einschalten schreibt er mit noch im terminal init
und erst nach einen reset nochmal init und auch dann init fertig.
bei den fuses hab ich mich auch ein bischen gespielt. aber immer das gleiche ergebniss: im augenblich verwende ich cksel=1111 und sut=11(ext quarz startup16k ck+65ms)
ich hab auch mal zum test den watchdog einzustellen, da macht er schon einen reset mitten in der printausgabe von "Hallo...."
gruss
Markus
-
keiner eine idee?
als hardware verwende ich von pollin.de das experimentierboard 2
der mega8 hängt sich sowohl beim ersten start mit und auch ohne baustein am spi bus aus(somit schließe ich mal ein hardwarefehler aus)
gruss
markus
-
Kennst du den:
http://palmavr.sourceforge.net/cgi-bin/fc.cgi
Vorsicht: Haken Bedeutung ist verwirrend.....
Ansonsten weiß ich auch nicht warum es nach einem Reset dann funktioniert....
Stack kann es eigentlich auch nicht sein, würde dann ja immer nicht gehen.
Alle Anlaufbedingungen können es sein, und die haste bestimmt mal in den Fuses versucht.
Pollin hat zum Bord ein PDF wie es Fuse-Standart ist.
MfG
-
@Rarthma
Ne Ferndiagnose ist nicht leicht wenn man das Projekt nicht kennt.
Eine Möglichkeit ist das deine komplette Schaltung beim Einschalten nicht schnell genug betriebsbereit ist.
Bei "noch" instabiler Versorgung usw. kann es da zu Problemen kommen.
Testen kannst du das wenn du ziemlich am Anfang deines Programmes einfach mal ein Wait 1 (1 Sekunde) einfügst.
Ein Versuch schadet nicht und kann wenigstens diese Möglichkeit ausschließen.
@Stromi
auf der Seite kann ich zwar nen Controller auswählen aber dann passiert nix mehr.
Is das zufällig "Designed 4 MS IE only " also völlig vorbei an jedem Standard ?
-
Standart.....äähh weiß nicht :-)
Aber es gibt ja noch das hier:
http://www.mikrocontroller.net/articles/AVR_Fuses
und bei PonyProg kannst du auch schauen.
Vorsicht: Bei der einen oder anderen Ansicht ist ein Haken angewählt, bei einem anderen Program bedeutet er abgewählt.
-
Ja,um die Fuses gehts mir nicht,da komm ich längst alleine klar ;)
Mir ging es nur um die Seite die für "nicht" IE konforme Broswer offensichtlich nicht nutzbar ist.(Opera vieleicht)
Ich hab mir das mal vom Arbeitsplatzrechner angesehen.
Is ja Ugly der Code.
Sieht das so aus wenn man mit Frontpage arbeitet ?
Brrrrr :lol::lol:
Naja,hat sich erledigt.
-
ja die seite http://palmavr.sourceforge.net/cgi-bin/fc.cgi kenn ich, von der hab ich auch die fuse einstellung :-) ich bespiel den mega8 mit einen galep, da kann ich die einstellungen von der hp 1:1 übernehmen ohne invertieren zu müssen.
@Ratber
zu meinen projekt gibts nicht viel zu sagen, ich will via spi bus einen mcp2515 ansprechen, das klappt auch soweit alles problemlos bis auf das, das beim ersten einschalten das programm bzw der mega8 sich bei spiout aufhängt
ein spiinit und ausgaben über den urat macht er vor den spiout problemlos
ein wait 1 hatte ich schon mal drin, ich werds aber heute noch mit einen wait 10 gleich am anfang von programm testen
gruss
Markus