
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo! > Hallo zusammen, > > ich will mit der Open-Micro eine Verbindung zwischen zwei Geräten herstellen, auf der einen Seite eine RS232-Schnittstelle, auf der anderen Seite eine SPI-Schnittstelle. > Den Takt der SPI-Schnittstelle gebe ich mit der Open-Micro vor. > Die SPI-Schnittstelle verlangt, dass die Daten 100ns vor dem Takt (ansteigende Flanke) bereits anliegen müssen und auch 100ns nach Ende des Takts (abfallende Flanke). > Da der Systemtakt der Open-Micro bei etwa 3MHz liegt, sollte ein einzelner Takt mit ca. 300ns bereits reichen, diese Zeit zur Verfügung zu stellen. > Ich habe also in die SPI-Routine ein gosub eingebunden, die gosub-Routine besteht aber nur aus einem > return. In Basic - oder in Assembler? In beiden Fällen dauert ein einfacher (Maschinen-)Befehl länger, als einen Maschinenzyklus, als Verzögerung in Assembler genügt also ein "nop" sicher, in Basic brauchst du keine weitere Verzögerung. > > Meine Frage ist jetzt: > Macht der Compiler daraus tatsächlich (an und für sich unsinnige) Routinen, oder ist der Compiler so schlau und filtert das einfach weg - und vernichtet damit meine Zeitschleife? Der Compiler (OCBasic, gilt auch für CCBasic) optimiert (bisher) nichts - falls du etwas von Compilerbau- und Optimierung verstehst, nimmt deine Hilfe sicher gerne in Anspruch. Cu Rene, alias Topmail |
| Antwort schreiben |