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 Sebastian - 6.03.2008 20:49)
Als Antwort auf Re: Wie wandelt man diesen Code um? von PeterS - 6.03.2008 0:39
Ich nutze:
CC-Pro 128 Application Board
Guten Abend Peter,

danke für die ausführliche Erklärung. Wenn man den Code "Waitus 1" eingibt, hat das natürlich den
Vorteil, dass man gleichzeitig die Frequenz definiert hat, mit der der Schrittmotor angesteuert wird,
in diesem Fall eine unglaublich hohe, wie mir scheint. WeiÃ?t du, wie man einen Schrittmotor mit einer
bestimmten Frequenz übers C-Control-Board ansteuern kann? Unter den Demo-Programmen zum
Board befinden sich ja auch sog. "Timer" und "PWM-Programme". Die beiden Begriffe kann ich nicht
genau auseinnander halten. Kennst du ein Beispiel, wo mit solchen Programmen ein Schrittmotor
angesteuert wird?

GruÃ?

Sebastian


> 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 PeterS - 10.03.2008 20:48)