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: