Zeiger auf CAN-Struktur übergeben

OP #4454863
Lesenswert?
• ▲
▼
Hallo,

Ich habe ein Programm erstellt um CAN - Struktur mit Zeiger an die 
Sendefunktion:

1
CAN_Send(CANPacket * p) // Funktion bereits vorhanden

zu übergeben.


leider habe ich keine Möglichkeit zur Hand die von mir erstellte 
CAN-Sendetask zu prüfen, deswegen würde ich mich sehr freuen, ob mir 
jemand sagen würde, ob das Programm so funktionieren kann.
1
typedef struct{
2

3
  uint16_t ID;
4
  uint8_t DLC;
5
  uint8_t DATA[8];
6

7
} CANPacket;         //Struktur so vorgegeben
8

9
void CAN_Sendetask(void*)
10
{
11
  CANPacket newPacket;
12

13
  newPacket.ID=0x100; //nur als Beispiel
14
  newPacket.DLC=1; //1 Byte
15
  newPacket.DATA[8]=byte;
16

17
CAN_Send(&newPacket); // dieser Ausdruck interessiert mich am meisten,
18
                      // Ob man die Adresse der Struktur (&newPacket)
19
                      // in der Funktion vom Typ                                   
20
                      // CAN_Send(CANPacket * p) so übergibt.
21
}

ich wäre Euch sehr dankbar für Ihre Hilfe!
#4454878
Lesenswert?
• ▲
▼
Alex S. schrieb:
> CAN_Send(&newPacket); // dieser Ausdruck interessiert mich am meisten,
>                       // Ob man die Adresse der Struktur (&newPacket)
>                       // in der Funktion vom Typ
>                       // CAN_Send(CANPacket * p) so übergibt.

Genau so wirds gemacht. Wenn CAN_Send die Struktur nicht modifiziert, 
könntest dir noch überlegen, ob du einen
1
const CANPacket *
übergeben willst, bzw. die Funktion CAN_Send anpassen.
Gast #4454917
Lesenswert?
• ▲
▼
Alex S. schrieb:

> leider habe ich keine Möglichkeit zur Hand die von mir erstellte
> CAN-Sendetask zu prüfen, deswegen würde ich mich sehr freuen, ob mir
> jemand sagen würde, ob das Programm so funktionieren kann.

Das kommt allein darauf an, wie CAN_Send funktioniert. Synchron oder 
asynchron...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.