Versionschaos

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Versionschaos

      Wie löst Ihr das?:
      Ich habe vom gleichen Programm eine Version für den Chip und eine andere für den Simulator. mit $sim übergeht er zwar die waits aber die timer laufen "ewig" und i2c stoppt ihn komplett so das die Simulator-version sie auskommentiert hat und ein standart Lcd
      zur Anzeige benutzt. Auch der crystal darf nicht beliebig verkleinert werden, sonst wird die serielle "taub", abgesehen von generellen timing-problemen.
      Ein weiteres Problem ist - nach einigen Änderungen ist die bin natürlich anders als die auf dem Chip. Im schlimsten Fall funktioniert die neue nicht mehr und die alte ist weg. Was tun ? Eine päzise History anlegen oder jede Änderung in neuen Dateinamen speichern?
    • Timer im Simulator läuft bei mir auch "ewig", ist ja logisch, da keine Verkürzung wie bei Wait stattfinden kann, wie auch.
      Mit der anderen Hardware ist es genauso, da sie an den festen Systemtakt über Prescaler gekoppelt sind.

      Der Simulator ist halt nur ein Simulator. Das Problem hast du ja mit allen Simulatoren, wenn dzu zu nahe an die Wirklichkeit willst ;)
    • Der Simulator ist Gold wert, daher auch der Aufwand mit den zwei Versionen. Schön wäre eine TWI- Unterstützung, ähnlich die des Uart oder eine Art offene Schnittstelle die dann von einem Sript oder eigenständigen Bascom-Programm bedient wird was später nicht auf dem Chip soll.
      Im Moment gehe ich den Umweg über den Totalcommander-Dateivergleich um sie Abzugleichen, möglicherweise hat hier jemand eine praktikablere Lösung.
    • Eine Möglichkeit ist die bedingte Kompilierung mit #if-Blöcken, Bascom legt intern die Konstante _sim an, mit dem Wert 0 bzw. 1, je nachdem ob $sim im Programm vorkommt.
      So kann unterschiedlicher Code für die Simulation oder Ziel-HW kompiliert werden:

      Quellcode

      1. #if _sim = 0
      2. ' hier ist der Code der auf dem Controller läuft
      3. Waitms 100
      4. #else
      5. ' das wird in der Simulation ausgeführt
      6. Print "Simulation"
      7. #endif