Forum: Mikrocontroller und Digitale Elektronik CAN Transmit


von Alex (Gast)


Lesenswert?

Hallo,


Habe ein Problem beim senden von CAN- Daten.
Ich benutze einen C167CR von Infineon mit CAN Interface und wenn ich in 
der main CAN_vTransmit(0) aufrufe sendet er in CAN_vTransmit(ubyte 
ubObjNr) das CAN Objekt 0 einmal, wenn ich aber das Objekt 1 senden 
will, sendet er mir es dauernd. ich stell unten noch den Source rein, 
bitte um Hilfe, häng da irgendwie.

Also in der Main ruf ich nur CAN1_vTransmit(0); auf und er sendet mir 
alles wunderbar.

void CAN1_vTransmit(ubyte ubObjNr)
{

   CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[0].Data[0];
    CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[0].Data[1];
    CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[0].Data[2];
    CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[0].Data[3];
  CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[0].Data[4];
    CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[0].Data[5];
    CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[0].Data[6];
    CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[0].Data[7];
}

will ich dann jedoch das Objekt 1 senden:

Ruf ich in der Main CAN1_vTransmit(1); auf
und änder in

void CAN1_vTransmit(ubyte ubObjNr)

CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[0].Data[0]; >>>>auf>>>>> 
CAN1_OBJ[ubObjNr].MCR = CAN1_OBJ[1].Data[0]; usw

dann kommt es zu einem dauersenden
komm einfach nicht auf den  Fehler drauf, BITTE um eure Hilfe
danke

Gruß Alex

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.