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

Programmierung Kategorie: CAN-Bus (von Rainer - 14.12.2011 18:03)
Ich nutze:
C-Control II Station, CC2-ReglerBoard, OSOPT V3.1
Problem mit CAN-Bus bei 3 Unit

Ein Wert ( can1) wird nicht empfangen, alles andere läuft, wo ist der Fehler ?

Ich bitte um Hilfe.





Unit 1

  byte port;
  byte buffer[8];
  byte data2[8];
  byte eingang1;

  int second,minute,hour,day,month,year,mg;


thread canbus
{


 if port==0 eingang1=1;
 else eingang1=0;


 data2[0]=eingang1;
 can.publish(1,2,data2,8);
 sleep 500;

  can.request(0);
  if can.rxd(0)
  can.get(0,buffer);

  second=buffer[0];
  minute=buffer[1];
  hour=buffer[2];
  day=buffer[3];
  month=buffer[4];
  year=buffer[6];

}

thread main

{

  can.init(0,0x07FF,0x07FF);
  can.expect(0,1);

  run canbus;
  halt;

}



**********************************************************************************

Unit 2

 byte buffer[8];
  int wert;
  byte data2[8];
  byte eingang1;
  byte port;
  int second,minute,hour,day,month,year,mg,can1;


thread canbus
{

  can.request(0);
  if can.rxd(0)can.get(0,buffer);

  second=buffer[0];
  minute=buffer[1];
  hour=buffer[2];
  day=buffer[3];
  month=buffer[4];
  year=buffer[6];

  wert=215;
  mem.putint(data2,0,wert);

  can.publish(2,4,data2,8);
  sleep 500;


}



thread main

{


  can.init(0,0x07FF,0x07FF);
  can.expect (0,1);
 

  run canbus;
  halt;

}

*****************************************************

Unit 3

byte data[8];
byte buffer2[8];
byte buffer[8];
byte can1,can9;

thread canbus
{

  data[0]=system.second();
  data[1]=system.minute();
  data[2]=system.hour();
  data[3]=system.day();
  data[4]=system.month();
  data[5]=system.year()/100;
  data[6]=system.year() % 100;
  data[7]=system.year();
  can.publish(0,1,data,8);
  sleep 500;

  can.request(1);
  if can.rxd(1)

  can.get(1,buffer2);
  can9=buffer2[0];
  if can9==1 stports.setLED(6,-1);
  else stports.setLED(6,0);


  can.request(2);
  if can.rxd(2)
 
  can.get(2,buffer);
  can1=mem.getint(buffer,0); // Problem kein Empfang von can1 !




}



thread main

{


 
  can.init(0,0x07FF,0x07FF);
  can.expect(1,2);
  can.expect(2,4);

  run canbus;
  halt;

}




    Antwort schreiben


Antworten: