hallo Leute, ich brauche ihr Hilfe ich arbeitemit der Platine AT90CAN128. Ich möchte gern eine Nachricht pre CAN senden, aber ich gehe nicht aus der Warteschleife raus es sendet ständig Daten, Alle Register sind gut gesetzt. Wenn jemanden eine Antwort hat, es wäre sehr hilfsreich. CANCDMOB |= (1<<CONMOB0); //Aktivierung von Sendung while (!(CANSTMOB & (1<<TXOK))) //warten bis die Transmission komplet ist { sprintf(tempstr, "CANMSG: %s, CANSTMOB: 0x%x", msg->data, CANSTMOB); break_point(tempstr, (CANSTMOB & (1<<TXOK))); } CANSTMOB &= ~(1<<TXOK); //reset flag
Gast
#774270
Ist denn ein Gerät im Bus, das die Nachricht empfängt?
Könnte wirklich gut sein, dass vielleicht ein 2ter Knoten fehlt, der das AckBit setzt, oder auch dass die Busterminierung fehlt - dann stimmen die Spg auf dem Bus nicht und es gibt ebenfalls nur Errorframes.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.