Guten Tag Ich plane an einem CAN Hausbus. Jetzt steh ich vor dem Problem das ich verschiedenen Tasten nicht nur eine sondern auch mehrere CAN Telegramme hinterlegen will und diese durch eine bestimmte CAN Nachricht auch verändern kann (Telegramm zufühgen,ändern & löschen). Mein Gedanke ist einen Speicherbereich im eeprom zu reservieren für die Telegramme. Das wenn ich z.b. Taste 12 drücke alle Telegramme die im Speicher sind ,für Taste 12, gesendet werden. Aufbau Speicherzelle eeprom z.b. Speicherzelle 0x051 Bit : 0 1 2 3 4 5 6 7 8 Daten: TastenNr | BoT | TxDrive | DoT | PID | SID | Wert0 | Wert1 | Wert2 Beim Controllerstart ließt dieser in der init phase den komplette eeprom Speicherbereich aus und legt diese Daten in ein dynamische struct, dieser sich an die größe der im eeprom gespeicherten Tasteneinträge anpasst, dazu wird im eeprom z.b. auf Speicherzelle 0x050 die Gesamtzahl der Gespeicherten Tastentelegrammspeicherplätze eingetragen (Dieser wird nach dem lesen des eepromspeicherbereich eingetragen). Für den fall das ein Tastentelegramm per CAN Telegramm gelöscht wird, wird im struct, bzw direkt danach im eeprom die Tastennummer des Telegramm einfach auf 0x00 gesetzt. Dadurch wird gekennzeichnet das diese Zelle frei ist.(diese wird beim Zählen der Tastentelegrammspeicherplätze nicht mitgezählt, jedoch wird diese Speicherzelle in einem anderen struct festgehalten, das diese frei ist). Ich lese häufig das von Dynamischen struct bei Controllern abzuraten ist, da der Speicher zu klein sein. Dazu gibts aber eine obergrenze an speicherbaren Telegrammen z.b max 255. was haltet ihr so vom groben Konzept? gibts vielleicht besser möglichkeiten? vielen dank für eure meinungen
Jens Brücken schrieb: > Aufbau Speicherzelle eeprom > z.b. > Speicherzelle 0x051 > Bit : 0 1 2 3 4 5 6 7 8 > Daten: TastenNr | BoT | TxDrive | DoT | PID | SID | Wert0 | Wert1 | > Wert2 Bit? Wie legst du mit nur EINEM Bit eine Tasten Nummer fest. Oder meintest du Byte?
Jens Brücken schrieb: > Ich lese häufig das von Dynamischen struct bei Controllern abzuraten > ist, da der Speicher zu klein sein. Dazu gibts aber eine obergrenze an > speicherbaren Telegrammen z.b max 255. Dann brauchts auch nicht dynamisch zu sein. Du definierst dir eine Struktur für 1 Telegramm (weil es ja sowieso immer den gleichen Aufbau hat) und legst dir ein entsprechend dimensioniertes Array davon an.
> (Telegramm zufühgen,ändern & löschen).
Da musst du noch etwas Hinrschmalz investieren.
Wie änderst du ein bestimmtes Telegramm, wenn du es nur über die
Tastennummer ansprechen kannst und du zu jeder Tastennummer mehrere
mögliche Kandidaten hast?
Karl Heinz Buchegger schrieb: > Bit? > > > > Wie legst du mit nur EINEM Bit eine Tasten Nummer fest. > > Oder meintest du Byte? Ja sry ich meinte Byte Karl Heinz Buchegger schrieb: >> (Telegramm zufühgen,ändern & löschen). > > > > Da musst du noch etwas Hinrschmalz investieren. > > Wie änderst du ein bestimmtes Telegramm, wenn du es nur über die > > Tastennummer ansprechen kannst und du zu jeder Tastennummer mehrere > > mögliche Kandidaten hast? ja ich gebe zu in bin in der Anfangsphase meiner überlegungen.. hatte mir das so überlegt das geschaut wird ob unter dieser Tastennummer schon son ein Telegramm hinterlegt ist und wenn ja ob dies gelöscht oder so beibehalten soll...
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.