Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Wie wandelt man diesen Code um? Kategorie: Programmierung Basic (von PeterS - 6.03.2008 0:39)
Als Antwort auf Wie wandelt man diesen Code um? von Sebastian - 5.03.2008 19:42

Hallo Sebastian,

in der C-Control-Pro arbeitet ein Interpreter den Code ab. Schon eine einfache Anweisung wie "a = 5"
sind schon mehrere Mikrosekunden. Da macht ein Mikrosekunden warten nicht viel Sinn. Wenn man
im Bereich 5-10 Mikrosekunden warten will, könnte man einfache Anweisungen zeitlich ausmessen und
aneinanderhÀngen.

Aber die C-Control Pro ist eigentlich fĂŒr solche arbeiten momentan nicht gemacht. Da braucht man
Assembler. Man muß sich auch vor Augen halten, daß bei 14,75Mhz man nur ca. 14 Takte pro
Mikrosekunde hat. Die meisten  Befehle benötigen  2 Takte. Eine 32-Bit Integer Addition in Assembler
braucht schon 28 Takte und ist 32 Byte lang. Naja, fĂŒr Floating Point und 32-Bit Arithmetik ist so ein
MegaAVR sicherlich nicht gemacht worden.

Gruss Peter

> Hi,
>
> in meinem Bascom-Programm verwende ich folgenden Code zur Ansteuerung eines Schrittmotors:
>
> Stepper_takt = 0 : Waitus 1 : Stepper_takt = 1
>
> Ich möchte diesen Code auch fĂŒr meinen C-Control Mega 128 verwenden. Ich konnte aber in der
> Doku keine Funktion finden, die Waitus() entspricht. Es gibt zwar AbsDelay(), aber hier kann man
> nur Millisekunden angeben. Gibt es vielleicht noch eine andere Funktion?
>
> Gruß
>
> Sebastian


    Antwort schreiben


Antworten:

Re: Wie wandelt man diesen Code um? (von Sebastian - 6.03.2008 20:49)
    Re: Wie wandelt man diesen Code um? (von PeterS - 10.03.2008 20:48)