Weniger schön für Dich.
Was erwartest Du jetzt von uns?
Daß wir hellsehen welche Hardware und welche Bibliotheken Du benutzt und wie Dein Sketch aussieht?
Grüße Uwe
#include "PAN3101.h"
#include "mcp_can.h" //CANBUS
#include "SPI.h" //CANBUS
// #include "ADNS2051.h"
// #include "ADNS2610.h"
// #include "ADNS2620.h"
// the cs pin of the version after v1.1 is default to D9
// v0.9b and v1.0 is default D10
const int SPI_CS_PIN = 9; //CANBUS:
MCP_CAN CAN(SPI_CS_PIN); //CANBUS: Set CS pin
#define SCLK 2 // Serial clock pin on the Arduino
#define SDIO 3 // Serial data (I/O) pin on the Arduino
PAN3101 Optical1 = PAN3101(SCLK, SDIO); // Create an instance of the PAN3101 object
// ADNS2051 Optical1 = ADNS2051(SCLK, SDIO);
// ADNS2610 Optical1 = ADNS2610(SCLK, SDIO);
// ADNS2610 Optical1 = ADNS2610(SCLK, SDIO);
void setup()
{
Serial.begin(38400); //Standart Baudrate 38400
Optical1.begin(); // Resync (really necessary?)
/* while (CAN_OK != CAN.begin(CAN_500KBPS)) // CANBUS:init can bus : baudrate = 500k
{
Serial.println("CAN BUS Shield init fail");
Serial.println(" Init CAN BUS Shield again");
delay(100);
}
Serial.println("CAN BUS Shield init ok!"); // CANBUS
*/
}
signed char stmp[8] = {0,0,0,0,0,0,0,0};
void loop()
{
// It's also possible to check whether the internal counter of the sensor
// has rolled over (overflow), on the PAN3101 and the ADNS2051:
//Optical1.updateStatus();
//if (Optical1.dxOverflow()) Serial.println("Overflow...");
// send data: id = 0x00, standrad frame, data len = 8, stmp: data buf
/* stmp[7] = stmp[7]+1;
if(stmp[7] == 100)
{
stmp[7] = 0;
stmp[6] = stmp[6] + 1;
if(stmp[6] == 100)
{
stmp[6] = 0;
stmp[5] = stmp[6] + 1;
}
}
*/
CAN.sendMsgBuf(0x00, 0, 8, stmp); // hier möchte ich direkt vor oder nach dem Println die daten per CanMsgBuf senden
Serial.println(Optical1.dx(), DEC);
delay(5);
// delay(100); // send data per 100ms
}
CAN.sendMsgBuf(0x00, 0, 8, stmp); // hier möchte ich direkt vor oder nach dem Println die daten per CanMsgBuf senden
Serial.println(Optical1.dx(), DEC);
delay(5);
....
unsigned char stmp[100];
int i;
Serial.println(Optical1.dx(), DEC);
delay(5);
for (i = 0; i < 100; i = i + 1) {
Serial.println(stmp[i]=Optical1.dx(), DEC);
CAN.sendMsgBuf(0x00,0,0,stmp[i]);
i--;
}
....