Gast
#65886
Hallo ! Hab es jetzt geschafft mit dem SJA1000 eine Message an den PEAK Dongle zu senden. Leider zeigt mir die Peak Dongle in der Recieve Liste keine Infos an: -Message 0 -Length 0 -Daten 0 -RTR 0 Bei Count zählt er den Wert hoch. Sowie bei Period tut sich auch was. An was kann dies liegen???? Auszug aus meinem Programm: -------------------------------- struct message { unsigned int id; unsigned int rtr; unsigned int dlc; unsigned int byte[8]; }; xdata 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); } kann mir jemand sagen ob der Code korrekt ist