public static void Main() { txMessage.CANID = 0x09; txMessage.data[0] = 0x11; txMessage.data[1] = 0x22; txMessage.data[2] = 0x33; txMessage.data[3] = 0x44; txMessage.data[4] = 0x55; txMessage.data[5] = 0x66; txMessage.data[6] = 0x77; txMessage.data[7] = 0x88; canCS.Write(false); Thread.Sleep(50); CANHandler.InitCAN(MCP2515.enBaudRate.CAN_BAUD_500K, filter, mask); Thread.Sleep(50); canCS.Write(true); Thread.Sleep(50); canCS.Write(false); Thread.Sleep(50); CANHandler.canReset(); Thread.Sleep(50); canCS.Write(true); Thread.Sleep(50); // SEt baud rate //canCS.Write(false); //Thread.Sleep(50); //CANHandler.SetCANBaud(MCP2515.enBaudRate.CAN_BAUD_500K); //Thread.Sleep(50); //canCS.Write(true); //Thread.Sleep(50); // Baud rate commands split up so we can manually do chip select.. canCS.Write(false); Thread.Sleep(50); CANHandler.baud1(); Thread.Sleep(50); canCS.Write(true); Thread.Sleep(50); canCS.Write(false); Thread.Sleep(50); CANHandler.baud2(); Thread.Sleep(50); canCS.Write(true); Thread.Sleep(50); canCS.Write(false); Thread.Sleep(50); CANHandler.baud3(); Thread.Sleep(50); canCS.Write(true); Thread.Sleep(50); // Set normal mode canCS.Write(false); Thread.Sleep(50); CANHandler.SetCANNormalMode(); canCS.Write(true); Thread.Sleep(50); while (true) { // The method with auto chip select //CANHandler.Transmit(txMessage, 100); // Now with manual chip select. canCS.Write(false); CANHandler.tId(txMessage); canCS.Write(true); canCS.Write(false); CANHandler.tRemote(); canCS.Write(true); canCS.Write(false); CANHandler.tSend(txMessage); canCS.Write(true); canCS.Write(false); CANHandler.tTransmit(); canCS.Write(true); Thread.Sleep(1000); } }