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

Re: Division nicht nachvollziehbar Kategorie: Programmierung C (von mgolbs - 21.12.2009 18:50)
Als Antwort auf Re: Division nicht nachvollziehbar von mgolbs - 21.12.2009 17:20
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128, CC-Pro 32 Application Board, CC-Pro 128 Application Board, Pro-Bot128
> > > > > >
> > > > > > Hallo Markus,
> > > > > >
> > > > > > was rechnest Du, "Verzoegerung = (Anzahl_Ticks/14);" oder " Verzoegerung = 1/14*(Anzahl_Ticks);"?
> > > > > > "Verzoegerung = 1/14*(Anzahl_Ticks);" kann nicht funktionieren, da bei einer Integer Division
> > > > > > "1/14" natürlich null ist.
> > > > > >
> > > > > > Wir haben doch einen so schönen Debugger, setze doch mal in der Zeile bei
> > > > > > "Verzoegerung = (Anzahl_Ticks/14);" einen Breakpoint und schau Dir mal im Einzelschritt die
> > > > > > Werte der Variablen an. Vielleicht hast Du dann Klarheit, was schief läuft.
> > > > > >
> > > > > > Gruss Peter
> > > > > >
> > > > >
> > > > > Hallo,
> > > > >
> > > > > danke für die Info. Ich rechnete Anfangs Verzoegerung = (Anzahl_Ticks/14); mit dem gleichen Ergebnis.
> > > > > Das mit dem Debugger habe ich auch schon probiert, bin aber nicht klar damit gekommen. Ich habe es
> > > > > nicht hin bekommen, bei laufender C-Control die daten auszulesen. Entweder "Einzelschritt" im Debugger
> > > > > Modus oder normaler Programmlauf in der Mega32. Kann ich bei normalem Programmlauf auch Variablen
> > > > > überwachen? Bei min. 10Hz Sensorsignal ist das mit den Einzelschritten ... Wahrschenlich kann ich den
> > > > > Debugger noch nicht bedienen.
> > > > >
> > > > > Danke und GruÃ? Markus
> > > >
> > > > Hallo Markus,
> > > >
> > > > komplett das Programm im Einzelschritt ist wegen der Interruptroutine nicht machbar, aber setz
> > > > doch einen Breakpoint ein paar Zeilen vor die Stelle. Bis dahin ist die Messung noch
> > > > Originalgetreu. Dann kannst Du den Wert von Anzahl_Ticks Dir ansehen, und die nächsten
> > > > Rechenschritte überwachen.
> > > >
> > > > Gruss Peter
> > >
> > > Hallo,
> > >
> > > danke für die Info. Wie kann ich die Mega32 im Debuggmodus ohne Einzelschritt starten? Anfängerfrage:-)
> > >
> > > GruÃ? Markus
> >
> > Links neben der Zeile den Breakpoint aktivieren und dann den Debugmodus starten. Dann läuft die
> > C-Control Pro los und stoppt beim ersten Breakpoint.
> >
> > Gruss Peter
>
Hallo,
 
danke für die Info. Werde gleich noch mal probieren ob die Werte
dann zu sehen sind. Wobei ich glaube nicht, denn allein wenn ich
per Hand die Variable, welche zur Division genutzt wird, setze und
Grenzen per Hand definieren kommt das Divisionsproblem.

GruÃ? Markus

Hallo,

jetzt verstehe ich gar nichts mehr! Im Debugg erscheint z.B. Anzahl_Ticks=188
und mit Teiler 14 bei Verzoegerung=13 >> also alles eigentlich bestens. Nur
am Oszi funktionierts nicht. Auch mit dem Start Knopf auf dem Pro-Board ist
die Funktion am Oszi nicht da. Nun habe ich bei gleicher Frequenz die Verzoegerung
nicht über Verzoegerung=(Anzahl_Ticks)/14 rechnen lassen, sondern Verzoegerung=13
gesetzt. Und siehe da, jetzt läufts auch wieder richtig auf dem Oszi.

Nur warum???

GruÃ? Markus


    Antwort schreiben


Antworten:

Re: Division nicht nachvollziehbar (von mgolbs - 7.01.2010 19:21)
    Re: Division nicht nachvollziehbar (von e_klaus - 14.01.2010 13:01)