- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: MEGA8 hängt sich auf

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Anzeige

    Powerstation Test
    Ja,der UART hat ja nix mit dem SPI zu tun.

    Könnte auch sein das die Komunikation zum mcp2515 hängt (Protokollfehler wenn man überhaupt von Protokoll sprechen kann)

    Wie gesagt,aus der Ferne gibt es zig Möglichkeiten.
    Gruß
    Ratber

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    14.12.2005
    Ort
    Bayern
    Alter
    40
    Beiträge
    86
    Zitat Zitat von Ratber
    Könnte auch sein das die Komunikation zum mcp2515 hängt .
    ich weiss jetzt nicht ob ich einen denkfehler hab, aber wenn ich mit meinen mega8 daten auf den bus sende, da bekommt der AVR doch gar nichts mit ob was dran hängt oder nicht. und auch beim empfangen ist es doch rein hardwaretechnisch den AVR egal ob was dran hängt oder nicht, da das clock signal ja nicht der mcp2515 macht und er empfängt hald dann auch als wert FF (da der AVR den eingang auf pullup setzt)

    ich habe eher die vermutung, das es an irgendeinen stack oder so liegen kann, hab leider in dieser richtung noch gar keine erfahrung, da ich bis jetzt eigendlich nur immer mit den at90s2313 was gemacht habe und da hab ich Bascom auf den standard einstellungen lassen

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    ch weiss jetzt nicht ob ich einen denkfehler hab, aber ..........usw.
    Ja,wenn du reines SPI ohne jegliches Protokoll verwendest dann ist das natürlich egal.



    >ich habe eher die vermutung, ...........usw.

    Ja,der Stack ist auch möglich.
    Leider kann man das an deinem Codefetzen nicht sehen.

    Ich kann immer nur empfehlen "alle" Einstellungen im Quelltext zu machen und die Defaultwerte des Compilers nicht zu nutzen.

    Viele machen das Anfangs und solange sie ihren Lieblingscontroller (Momentan oft M8,M16 oder M32) nutzen passiert da auch nicht viel.
    Spätestens wenn dann der Controller gewechselt wird rächt sich diese Bequemlichkeit denn die Einstellungen sind längst vergessen.
    Schon liegt man auf der Nase und weiß nicht warum.
    Der Nächste (Kleine) Stolperstein ist dann die wilde Suche nach den Settings die man dafür im Quellcode setzen muß.


    Falls es wirklich der Stack ist gibt es ja nur zwei primäre Möglichkeiten.
    Zum einen die vom Compiler nicht erkannte Belegung und zum anderen die allseits beliebten Sprünge aus Unterprogramen heraus.
    Der Rücksprung bleibt dabei im Stack womit dann das nächste Return an die falsche Adresse geht oder der Stack recht flott überläuft.
    Aber das ist alles nur geraten denn für Aussagkräftige Hilfe muß man schon den Quelltext kennen.

    Such einfach mal in Ruhe,vieleicht findest du ja die Stelle.
    Gruß
    Ratber

  4. #14
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Hardware oder Software-SPI?
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.08.2004
    Beiträge
    197
    laut Codefetzen Hardware s. O.

  6. #16
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    also n Programm ohne Mainloop möcht mir irgendwie nicht recht gefallen.
    Mit der Sub ohne Übergabewert hatt ich shconmal Ärger, weiß der Geier warum,
    wenn eh keine Parameter übergeben werden tuts dann auch n gosub.
    Probiers mal so:

    Code:
    'Grundeinstellungen und Variablendefinitionen
    $baud = 9600                                                'Baudrate der UART: 9600
    
    $regfile = "m8def.DAT"                                      'ATmega8-Deklarationen
    $crystal = 8000000                                          'Quarz: 8 MHz
    
    
    '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
    
    gosub Mcp2515_init
    
    do
    ' ###### Mainloop ######
    loop
    
    
    Mcp2515_init:
    
    Dim Mcp2515_reset As Byte
    Mcp2515_reset = &HC0
    
    Print "init"
    
    Cs_line=0
    Spiout Mcp2515_reset , 1
    Cs_line=1
    
    print "init fertig"
    
    ....usw aber soweit kommt das programm ja leider nicht
    
    return
    end
    Vor den Erfolg haben die Götter den Schweiß gesetzt

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Labornetzteil AliExpress