Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

CAN Speed nicht ausreichend? Kategorie: CAN-Bus (von Newbie - 4.09.2012 8:33)
Ich nutze:
C-Control II Unit
Ausgangslage:

Mehrere Geräte senden über CAN, es sollen mehr als 15 ID's verwertet werden.

Gruppen: 0x300-0x307, 0x0C0-0x0C4, 0x0D0-0x0D8 z.B.

also kann nicht jeder ID ein exklusiver Kanal zugeordnet werden. Wenn ich exklusiv jedem Kanal
einzeln zuordne, funktioniert alles tiptop (Alle LED's blinken unisono). (Sendefrequenz: 1Sek, Zeit zwischen zwei ID's: 4ms)

mit


can.init(4,0x7FF,0x000);

thread test
{
byte temp[8];
can.expect(0,0x305);     //  Erwarte auf Kanal 0,
can.expect(1,0x307);     //  Erwarte auf Kanal 1
can.expect(2,0x300);     //  Inv Power
can.expect(3,0x301);     //  Grid Power
can.expect(4,0x304);     //  Frequency

loop
{
if can.rxd(0)
{    can.get(0,temp);      stports.togLED(0x01); }
if can.rxd(1)
{    can.get(1,temp);      stports.togLED(0x02); }
if can.rxd(2)
{    can.get(2,temp);      stports.togLED(0x03); }
if can.rxd(3)
{    can.get(3,temp);      stports.togLED(0x04); }
if can.rxd(4)
{    can.get(4,temp);      stports.togLED(0x05);
}
}
}
   


Wenn ich nun versuche, mehrere in einem Kanal zuzuweisen, um Kanäle zu sparen, dann blinken nicht
mehr alle Unisono - es gehen Frames verloren.:



can.init(4,0x7F8,0x000); //Letzte 8 Bites egal. Somit 0x300-0x307 im selben Postfach
thread test2
{
byte temp[8];
int adress;
can.expect(0,0x305);     //  Erwarte auf Kanal 0, letzten 8 Bites egal, da Global Mask entsprechend.

loop
{
wait can.rxd(0);   //Neue Daten?
{ adress=can.getID(0);   //Welche Adresse?
  can.get(0,temp);      //Daten auslesen, Eingangskanal leeren
  if adress==0x300
     stports.togLED(0x01);
  if adress==0x301
       stports.togLED(0x02);
  if adress==0x304
       stports.togLED(0x03);
  if adress==0x305
       stports.togLED(0x04);
  if adress==0x307
       stports.togLED(0x05);

}//if zu

}//Loop zu
}


Ist was ich erreichen will nicht möglich? Oder gibt es einen besseren Ansatz?

Danke für eure Hilfe!

Mike






    Antwort schreiben


Antworten:

Re: CAN Speed nicht ausreichend? (von André H. - 7.09.2012 10:51)