Forum: Mikrocontroller und Digitale Elektronik CAN Bus Problem


von Leo (Gast)


Lesenswert?

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 ausl”sen
     do
      {

      }
     while (((canreg_read(SR))&0x08)==0);

}

kann mir jemand sagen ob der Code korrekt ist

von Leo (Gast)


Lesenswert?

So ein misst!

Ich verstehe einfach nicht warum die Daten nicht angezeigt werden

von Leo (Gast)


Lesenswert?

Ich verstehe nicht, warum bei der PEAK Software die ID, Daten und
DLC nicht angezeigt werden.

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.