Вот, навоял. Реагирует на изменения двух байт
void can()
{
if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) {
if (canMsg.can_id == 0x32A) {
if (canMsg.data[1] == 0x02 && canMsg.data[2] == 0x10) {
Serial.println("Press Vol Up");
digitalWrite(vol_up, HIGH);
}
else{
Serial.println("Unpress Vol Up");
digitalWrite(vol_up, LOW);
}
if (canMsg.data[1] == 0x03 && canMsg.data[2] == 0x20) {
Serial.println("Press Vol Down");
digitalWrite(vol_down, HIGH);
}
else{
Serial.println("Unpress Vol Down");
digitalWrite(vol_down, LOW);
}
}
}
}
На = в дате ругалась, пока не написал ==. И при id = 32A отключало порты от любого сообщения в шине. А если id==32A, то отключает от сообщения с id 32A и датой отличной от прописанной на порты. Правильно вроде получилось написать ?
|