hallo Leute, ich versuche mit einer Struktur einigen Register von AT90CAN128 zu setzen, um eine Nachricht auf dem CAN-Bus zu schicken. Ich möchte zuerst wissen, ob es möglich ist, eizelne Bit von Register zu zugreifen. Soll ich die Adresse der Register für die Zuweisung benutzen. Hat jemanden ein besserer Vorschlag, wie ich damit umgehen kann. Anbei meine Code für mehr Verständnis. Ich danke euch .
Hallo, ich bin mir nicht sicher, ob ich verstanden habe, wo das Problem liegt. Meinst du sowas?...
1 | sPtrFrame->RTR = (CANIDT4 >> 2) && 1; |
Gruss! Rik
Das ist eine C-Frage und keine Controller-Frage. Was ich nicht verstehe ist, warum Du in Deiner Struktur CANFRAME nur Zeiger verwendest und nicht Elemente in angemessener Grösse. Und der Typ "char" ist auch schon länger nicht mehr aktuell. Wenn Du Daten in Deinen Variablen haben möchtest, dann per Zuweisung. Ich und Zeiger, aber ist "sPtrFrame->RTR" nicht der Zeiger auf den String mit vier chars von "FrameFormat" in dem CANIDT4 Bit landen soll?
hallo, mit dem Bild eine kleine Erlaüterung. Ich will mit dem Inhalt meines Zeigers die 3 oberste Bit meine Register setzen. D.h. wenn der Zeiger die Werte 1,3,7 die Werte nur in der 3 Bit des Registers setzen. Danke
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.