CAN-Channel Zustand

Gast #941011
Lesenswert?

hi,
ich habe eine Frage, es geht um den Zustand den CAN-Channel.Ich arbeite 
mit dem Mikrocontroller AT90CAN128. Im Datenblatt steht, dass das erste 
und zweite bit des Registers CANGSTA der Zustand des Channel gibt. Das 
Problem ist: wenn ich die CAN-Kabel ziehe, wird nicht passiert, der 
Inhalt von CANGSTA bleibt unverändern.CANGSTA= 0x04;bedeutet, dass der 
CAN-contoller aktiv ist. Hat jemanden schon sowas gemacht?
Danke

void AtCanGetBusState(void)
 {
        sprintf(tempstr, "CANGSTA: 0x%x\n",CANGSTA);
        break_point(tempstr, _LINE_);
        if (CANGSTA & (1<<BOFF))
        Error(CanError0);
  else if (CANGSTA & (1<<ERRP))
        Error(CanError1);
        else
        Error(CanError2);
}
Gast #941194
Lesenswert?

Ich kenne den AT90CAN128 nicht. Aber bei anderen Kontrollern bleibt der 
CAN Kontroller aktiv, auch wenn kein Kabel aufgesteckt ist. Das aktiv 
bedeutet, dass die Hardwareeinheit CAN im Mikrokontroller aktiviert ist, 
nicht das eine aktive Verbindung besteht.
Gast #942196
Lesenswert?

Hallo,
Alex im momemt sende ich ständig ein Frame auf den CAN-Bus, wenn ich das 
Kabel  abziehe, passiert gar nicht. Wenn ich das Kabel wieder einstecke, 
bekomme ich die passive Mode. Ich möchte gern die Meldung bekommen an 
dem Zeitpunkt, der  das Kabel abgezogen wird.
Juergen. Ich finde dein Beispiel kompliziert für einen Anfänger.

Danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren