Programmierung Kategorie: CAN-Bus (von Rainer - 14.12.2011 18:03) | ||
| ||
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: |