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

Re: serielle Schnittstelle im Interrupt Modus Kategorie: Programmierung C (von PeterS - 14.02.2009 12:18)
Als Antwort auf Re: serielle Schnittstelle im Interrupt Modus von Wolfgang - 13.02.2009 11:39

> > > Ist es möglich, den Sendebuffer der seriellen Schnittstelle im Interrupt-Modus zu überfüllen, indem
> > > man schnell hintereinander mehr Zeichen hineinschreibt, als er fassen kann? Das wäre immerhin
> > > gefährlich.
> > >
> > > Oder 'hängt' Serial_WriteText() solange, bis wieder genug Platz ist? Fänd' ich gut!
> >
> > Es gibt sogar jemanden der Dir das sagen kann: Weder noch. Wie in solchen Fällen üblich kommt ein
> > Ringpuffer zum tragen. Wenn der eine Zeiger den anderen überholt, bleiben nur die Zeichen übrig, die
> > nach dem "überholen" in den Puffer geschrieben werden.
> >
> > >
> > > Analog: was passiert, wenn der Input-Buffer voll ist, und weitere Zeichen empfangen werden? Ich
> > > vermute, diese Zeichen gehen verloren, aber der Input-Buffer wird nie überfüllt?
> >
> > Hier das gleiche, nurn andersherum.
> >
> > >
> > > Kleine Bemerkung am Rande: in der Hilfe (Beta 1.98) zu "Serial_IRQ_Info" wird fälschlich die
> > > Konstante "RS232_FIFO_Send (1)    Zeichen in den Sendepuffer geschrieben" genannt, richtig
> > > muss das SEND gross geschrieben werden.
> >
> > Schon korrigiert.
> >
> > Gruss Peter
> >
> > >
> > > GruÃ?,
> > > Wolfgang
>
> Hallo Peter,
>
> schade zwar, aber auch 'ne Lösung!

Man kann es nie allen recht machen. Manche hätten dann gerne, das immer nur die letzten Bytes noch
im Puffer sind, andere hätten gerne nur die ersten Bytes. Es gibt nur eine Lösung, den Puffer nicht
überlaufen lassen.

Gruss Peter

>
> Jedenfalls danke für die rasche Antwort!
>
> GruÃ?,
> Wolfgang


    Antwort schreiben


Antworten: