PasstScho
12.03.2005, 17:54
Hi,
Ich habe einen µC, der mit 19200 oder schneller über die serielle Schnittstelle empfangen soll.
Meistens geht das auch, aber irgendwie gibt es manchmal Probleme, da, glaube ich, Bytes verloren gehen.
Ich schätze, dass es an der zu schnellen Übertragung liegt.
Ich benutze beide Timer, in denen relativ viel Code steht.
Kann es sein, das der µC ein Byte überspringt, wenn gerade ein byte ankommt, während ein zeitaufwändiger Timer-Interrupt ausgeführt wird, und der UART Interrupt zu lange warten muss?
Kann ich einfach noch den CTS Pin vom PC an den Max232 anschließen, um dann immer, wenn ein Timer ausgeführt wird, dem PC zu sagen, dass er warten soll, und am Ende des Interrupt, dass er weiter Senden darf?
Sollte das mein Problem beheben, und wie muss ich dann die anderen Pins der seriellen Schnittstelle verbinden(Bisher nutze ich nur rxd und txd. Pin 4,6,8 sind miteinander verbunden)?
Viele viele Fragen ... hoffentlich auch Antworten...
MfG Alex
Ich habe einen µC, der mit 19200 oder schneller über die serielle Schnittstelle empfangen soll.
Meistens geht das auch, aber irgendwie gibt es manchmal Probleme, da, glaube ich, Bytes verloren gehen.
Ich schätze, dass es an der zu schnellen Übertragung liegt.
Ich benutze beide Timer, in denen relativ viel Code steht.
Kann es sein, das der µC ein Byte überspringt, wenn gerade ein byte ankommt, während ein zeitaufwändiger Timer-Interrupt ausgeführt wird, und der UART Interrupt zu lange warten muss?
Kann ich einfach noch den CTS Pin vom PC an den Max232 anschließen, um dann immer, wenn ein Timer ausgeführt wird, dem PC zu sagen, dass er warten soll, und am Ende des Interrupt, dass er weiter Senden darf?
Sollte das mein Problem beheben, und wie muss ich dann die anderen Pins der seriellen Schnittstelle verbinden(Bisher nutze ich nur rxd und txd. Pin 4,6,8 sind miteinander verbunden)?
Viele viele Fragen ... hoffentlich auch Antworten...
MfG Alex