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

Re: RS232 fehler durch die Funktion Serial_Init Kategorie: Programmierung C (von PeterS - 6.05.2006 12:01)
Als Antwort auf Re: RS232 fehler durch die Funktion Serial_Init von FrankT - 6.05.2006 11:01
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128
Hallo,

wir haben fĂŒr Zeitmessungen Timer 2 immer im 10ms Interrupt laufen, die Werte kann man mit
Timer_TickCount() abfragen. Das TImer 2 immer aktiv im Hintergrund lÀuft, ist auch dokumentiert.

Der Interpreter kannfĂŒr die Verarbeitung  von  1ms Timings manchmal zu langsam sein, es kommt drauf an
was alles in der Interrupt routine lÀuft.

Gruss Peter

> > Hallo Frank,
> > danke fĂŒr den Tip; es fuxt. Aber es ist doch schade und scheint ein echter BUG im Interpreter zu sein. ich
> > habe extra einen MAX3232 fĂŒr die RS232 eingebaut, um die Übertragung zu zĂŒchten und dann darf man
> > gar nicht ... Angeregt durch Deinen Tip habe ich mal die ganzen divider der seriellen Schnittstelle aus-
> > probiert. Die stimmen alle nicht bis auf den fĂŒr 38400 B. Der nĂ€chste ist 279 (könnte 4800B sein); 535
> > (könnte 2400B sein) dann kommt 791 (sind wir locker bei 1200B) und 1000 funktioniert auch; da sind wir
> >  im sub-Sekundenbereich. Wirklich schade, aber vielleicht gibts demnĂ€chst ein geiles Update.
>
> Das habe ich bei seriellen Bibliotheken schon öfter gesehen. Die nutzen immer die Toleranz bis zum k... aus.
> Wenn man dann mit nem modernen (USB-) Seriellen Anschluß kommt geht nix. 115kBaud funzt bei mir aber
> auch einigermaßen mit Hyperterminal (nicht mit GtkTerm) und wenn ich die erste Übertragung verwerfe - denn
> bei der kommt nur MĂŒll an. Offenbar prĂŒfen heutige Terminalprogramme keine Framing-Errors mehr :(
>  
> > Die Geschichte mit der RĂŒckkehr probiere ich jetzt aus und unterrichte ĂŒber das Ergebnis.
> > Aber noch ein Problemchen: Ich habe versucht mit dem Timer 1 eine Systemzeit zu implementieren (1ms).
> > Mit der Verwendung der Interruptquittung funktioniert das auch, d.h. ĂŒberfahrene Interrupts werden gezĂ€hlt,
> > so dass man spÀter die Zeit richtig stellen kann. Nur, die Zeit stimmt eben nicht! Ich habe also durch den
> > Timer 0 40KHz erzeugt (T=25”s) und Timer 1 zum ZÀhler vergewaltigt und, blubs, es geht. Mir scheint, da
> > ackern noch eine ganze Menge Intr. im Hintergrund und kein Sch.. hat das dokumentiert. Da kannste
> > suchen wie Schneewitchen, Hi!
>
> Ich hab den TimerInt mit 10ms laufen, aber mei mir kommt es auch nicht so auf die genaue Zeit an, sondern
> auf das VerhĂ€ltnis zu den anderen Meßwerten. Dann paßt schon.
> Es fehlt halt einfach eine asm Anweisung...


    Antwort schreiben


Antworten: