Gast
#4716726
Hallo, ich würde gerne einen CAN Filter einstellen, damit nur bestimmte Nachrichten durchkommen auf meinen AT90CAN128. Ich hatte das ganze schon mit der Universelle CAN Bibliothek von kreatives-chaos.com gelöst. Jedoch hängt sich der Controller bei einer Baudrate von 1mbits teilweise auf. In der Doku steht, dass das ganze auch nur für 250kbits getestet wurde. Insofern wollte ich es jetzt mit der Atmel Lib versuchen. Dort hab ich folgendes Bsp. gefunden: // --- Rx Command message.cmd = CMD_RX_MASKED; // --- Enable Rx while(can_cmd(&message) != CAN_CMD_ACCEPTED); // --- Wait for Rx completed while(1) { u8_temp = can_get_status(&message); if (u8_temp != CAN_STATUS_NOT_COMPLETED) break; // Out of while } if (u8_temp == CAN_STATUS_ERROR) break; // Out of the function jedoch kann ich so nur auf eine Nachricht warten. Weiß jemand wie man einen Filter so setzt, dass unterschiedliche Nachrichten durchkommen. Die versuche die Register selber zu setzten sind immer gescheitert. Um Hilfe wäre ich sehr dankbar.