Hallo, ich habe einen uC von Motorola als Zielsystem und folgendes Problem. Ich habe eine relativ langsame SPI über die ich Daten an eine Hardware versende. Was die SPI für Daten versendet liegt an den Befehlen, die ich über CAN erhalte. Nun kann es passieren, dass ich bis zu zehn Befehle extrem schnell per CAN bekomme. Die SPI kommt da nicht hinterher. Alledings kommt nach den zehn Befehlen definitiv für lange Zeit kein Befehl. Wie berwerkstelle ich jetzt am besten, dass ich alle Befehle auch über die SPI weiterleite. Ich brauche wohl einen Befehlsbuffer. Aber wie sieht der Befehlsbuffer am besten aus? Zu jedem Befehl gehören auch bis zu 3 Bytes DATEN. Eine Pipe? Eine Verkettete Liste? Vielen Dank für Eure Tips, Sebastian.
Ein Ringpuffer mit Schreib- und Lesezeiger. Musst nur noch die Puffergroesse richtig bemessen und fertich. So macht mans bei der UART auch.
Was hat denn der Motorola für ein CAN ? Viele CAN (z.B. AT89C51CC01) haben schon 15 Puffer, die man alle hintereinander schalten kann (gleicher Identifier). Einen extra Puffer braucht man dann nicht. Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.