Der Compiler von CodeVisionAVR zeigt mir Fehler an. --> id_3=((*ptransmit).id)&0x0f; Wenn ich dies schreibe: id_3=ptransmit->id)&0x0f; dann bringt der Compiler keine Fehler mehr. Soviel ich weiss ist das das DEREFERENZIEREN bzw REFERENZIEREN. Gibt es da noch eine andere schreibweise?? struct message { unsigned int id; unsigned int rtr; unsigned int dlc; unsigned int byte[8]; }; struct message transmit,receive; ------------------------------------------------ void canmessage_write(struct message *ptransmit ) { unsigned int id_1,id_2,id_3; unsigned int id_1_hilf,id_2_hilf,id_3_hilf; unsigned int trdscr_wert; unsigned int i; id_3=((*ptransmit).id)&0x0f; id_2=(((*ptransmit).id)/16)&0x0f; id_1=(((*ptransmit).id)/256)&0x0f; id_1_hilf=id_1*32; id_2_hilf=id_2*2; id_3_hilf=id_3/8; trdscr_wert=(id_1_hilf)|(id_2_hilf)|(id_3_hilf); canreg_write(TBUF_DSCR1,trdscr_wert); id_3=((*ptransmit).dlc)&0x0f; id_2=((*ptransmit).rtr)*16; id_1=(((*ptransmit).id)&0x0f)*32; trdscr_wert =(id_3)|(id_2)|(id_1); canreg_write(TBUF_DSCR2,trdscr_wert); for (i=0;i<=7;i++) { canreg_write (TBYTE_1+i,(*ptransmit).byte[i]); } canreg_write (CMR,0x01); //Sendung auslsen do { } while (((canreg_read(SR))&0x08)==0); } ------------------------------------------------
,,Mein Auto fährt nicht!'' Wäre schon nicht schlecht, wenn Du die Fehlermeldung mit zitieren würdest... (*foo).bar ist identisch zu foo->bar
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.