Guten tag.
erneute frage an die experten
ich habe schon einmal hier um hilfe gebeten wegen der timer auf meinem
sainsmart mega board
also ich verwende in atmel studio 6.2 für den atmega 2560
ich habe folgende einstellungen gemacht, um eine reziproke
frequenzmessung durchzuführen
EIMSK|=(1 <<INT3)|(1 <<INT5);
EICRA|=(1<<ISC31)|(1 <<ISC3);
(Schreibe die einstellungen nur pro interupt raus)
TCCR3B=0;
TCCR3B=(1<<CS30);
TIMSK3=(1 <<ICIE3)|(1 <<TOIE3);
um die flanken über den INT pin einzulesen, stelle ich die ISR so ein
ISR(INT_vect)
{...}
Jetzt is mir mal aufgefallen, dass bei frequenz 0 trotzdem immer wieder
so werte von 0, xx angezeigt werden, statt einfach nur 0
Liegt das vl an der Berechnung mittels FLOAT?
ausserdem ist der zähler bereits bei 255 am ende, also doch nur 8
bit....laut datenblatt ist er 16 bit gross
meine while schleife ist auch viel langsamer, als wenn ich mit
torzeit-interrupt die INT pins einlese, es verringert sich die
programmgeschwindigkeit auf 1/3
Ausserdem.. wenn ich die TIMSK auf input capture UND overflow stelle,
welche pins spreche ich dann wirklich an?
habe noch ein display am controller hängen, klar, das bremst, aber das
kann ich softwaremässig wegschalten
vielen dank schon mal
gartler p. schrieb:> Jetzt is mir mal aufgefallen, dass bei frequenz 0 trotzdem immer wieder> so werte von 0, xx angezeigt werden, statt einfach nur 0> Liegt das vl an der Berechnung mittels FLOAT?
Schau dir die Ausgangswerte an, mit denen du in die Berechnung
reingehst, dann weisst du es. Es ist nicht verboten, sich während der
Entwicklungsphase auch mal die Werte von Variablen ausgeben zu lassen,
die im fertigen Programm der Benutzer nie zu Gesicht kriegen wird.
> ausserdem ist der zähler bereits bei 255 am ende, also doch nur 8> bit....laut datenblatt ist er 16 bit gross
? Wenn dein Datenblatt sagt, dass er 16 Bit groß ist, dann ist der das
auch.
> meine while schleife ist auch viel langsamer, als wenn ich mit> torzeit-interrupt die INT pins einlese, es verringert sich die> programmgeschwindigkeit auf 1/3
Tja. Was machst du dann in der Hauptschleife. VOn irgendwoher muss ja
der Laufzeitzuwachs kommen.
> Ausserdem.. wenn ich die TIMSK auf input capture UND overflow stelle,> welche pins spreche ich dann wirklich an?
Den Input Capture Pin (sofern ich die Frage richtig verstehe).
> habe noch ein display am controller hängen, klar, das bremst, aber das> kann ich softwaremässig wegschalten
Was verstehst du unter 'wegschalten'. Was bremst, das sind Ausgaben aufs
Display. Gibst du in der Hauptschleife ständig Werte aus, obwohl die
bereits am Display stehen (weil sich der Wert in der Zwischenzeit gar
nicht gändert hat), dann bremst das natürlich, auch wenn man am LCD
nichts von der Ausgabe sieht.
gartler p. schrieb:> (Schreibe die einstellungen nur pro interupt raus)
Hä?
gartler p. schrieb:> Liegt das vl an der Berechnung mittels FLOAT?
Hä?
gartler p. schrieb:> ausserdem ist der zähler bereits bei 255 am ende, also doch nur 8> bit....laut datenblatt ist er 16 bit gross
Hä?
gartler p. schrieb:> Ausserdem.. wenn ich die TIMSK auf input capture UND overflow stelle,> welche pins spreche ich dann wirklich an?
Hä?
gartler p. schrieb:> vielen dank schon mal
Keine Ursache ;)
Mal Klartext: Zeig deinen ganze Code. Deine Fragen sind nicht wirklich
verständlich.
Oliver
@karlheinz..das mit dem anschauen der werte ist so ganz ok....hab
gesagt, ich arbeite mit atmel studio....
sorry..verschrieben, da ich simultan noch was geschrieben hab
es ist die arduino software
kurzum: ich hab INT pins, die will ich so beschalten, dass bei sich
ändernden Flanken etwas tut...nicht mehr
denn am board sind die icp nicht alle ausgeführt, das hilft mir nachher
nix
ich kann nur die INT pins nehmen....
brauche eigentlich eh nur eine capture isr
zu oliver....so geistreich dein kommentar auch zu sein scheint..er ist
es nicht...kommt nun auch n hä.
net böse sein, aber so schlecht formuliert war es nicht...ausser man hat
kein vorstellungsvermögen und ist der deutschen sprache nicht allzu
mächtig
ganzer code hätte etwa 600 zeilen...das erspar ich jedem
gartler p. schrieb:> das mit dem anschauen der werte ist so ganz ok....hab gesagt,> ich arbeite mit atmel studio...> sorry..verschrieben
Und? Gerade in der Arduino Umgebung ist es doch noch viel simpler
Pipifax, sich mal zwischendurch ein paar Werte am PC ausgeben zu lassen.
> net böse sein, aber so schlecht formuliert war es nicht...ausser man hat> kein vorstellungsvermögen
vorstellungsvermögen kriet man auf dieser Seite des Bildschirms, wenn
man den Code sehen würde.
> ganzer code hätte etwa 600 zeilen...das erspar ich jedem
Lieb von dir.
Aber man kann auch komplette Demoprogramme machen, die lauffähig sind,
das Problem zeigen und keine 600 Zeilen lang sind. Und stell dir mal
vor. Es passiert gar nicht mal so selten, dass man im Zuge dieses
Abspeckens das Problem selbst findet.
Arduino hin oder Atmel Studio her.
Ich bin raus. Wenn du nicht willst, dann eben nicht.
"net böse sein, aber so schlecht formuliert war es nicht...ausser man
hat
kein vorstellungsvermögen und ist der deutschen sprache nicht allzu
mächtig"
Keine Rechtschreibung - keine Hilfe.
Mendax schrieb:> Keine Rechtschreibung - keine Hilfe.
Rechtschreibung ist eins, aber auch in der kreativen Wortwahl und den
angefangenen aber nie beendeten Sätzen ergibt sich -zumindest für mich-
erhebliches Interpretationspotential.
gartler p. schrieb:> gesagt, ich arbeite mit atmel studio....> sorry..verschrieben, da ich simultan noch was geschrieben hab> es ist die arduino software
Darf ich das mal versuchen zu interpretieren? Du hast oben geschrieben
du würdest Atmel Studio benutzen, hier willst du uns sagen es ist eine
Arduino Entwicklungsumgebung?
Wenn dein 16Bit Timer nur bis 255 zählt, könnte das daran liegen, daß du
nur das untere Byte anschaust?
Schade, dass der umgang untereinander hier so derb zu sein
scheint...zumindest von manchen leuten
ich bedanke mich trotzdem für das engagement einiger personen
bei so viel profis hier frag ich mich, wozu es denn ein forum gibt, wenn
man nur kleine, für laien schwer verwertbare, infobrocken serviert
bekommt
ich für meinen teil bin raus, gott sei dank gibt es noch weitere
möglichkeiten, als die dürftige ausbeute von mikrocontroller.net
byebye