Hallo wkrug,
wie gesagt möchte ich den Code nicht posten.
Ich hoffe Ihr habt Verständniss dafür.
Solltest du dir das allerdings ansehen wollen, würde ich mich freuen.
Ich denke, dass das Problem von nem Profi schnell gelöst wird.
Gruß
Hallo wkrug,
wie gesagt möchte ich den Code nicht posten.
Ich hoffe Ihr habt Verständniss dafür.
Solltest du dir das allerdings ansehen wollen, würde ich mich freuen.
Ich denke, dass das Problem von nem Profi schnell gelöst wird.
Gruß
Mir den Code zu schicken macht relativ wenig Sinn.
Ich weiss ja noch nicht mal mit welchem Compiler der Code erstellt wurde. Ob ich den dann überhaupt kenne ?
Zudem müsste ich zum Eingrenzen des Fehlers auch die Hardware bei mir haben.
Ich denk mal, das die Routinen für die serielle Schnittstelle kein ernsthaftes Unternehmensrisiko bergen, es sein denn Du hättest sie geklaut.
Und die Programmteile, die mit der seriellen Schnittstelle zusammenhängen hier zu veröffentlichen dürfte auch nichts über Deine Applikation verraten.
Man kann ja den Code irgendwie anders auskommentieren, Sende- und Empfängerdaten anders benennen usw. Klingt nach viel Arbeit, aber wenn sich keiner per PN meldet, wäre das vielleicht eine Alternative.![]()
Aus welcher Region kommst du den?
Hallo an alle,
erstmal Danke fuer eure Bemuehungen.Ich glaub ich hab den Fehler (hoffentlich) gefunden. Kann es im Moment aber leider nicht testen.
Ich verwende eine Baudrate von 19200 mit einem 8 MGHz Quartz. Damit ergibt sich fuer den UBBR Wert:
UBBR = (fosc / 16*Baud)-1 = (8 000 000 / 16 * 19200)-1 = 25
Habe auch im Datenblatt nachgesehen. 25 ist hier der Wert.
Ich habe allerdings 26 verwendet.
Damit ergibt sich ein Fehler von:
Error[%] = ( (BaudIst/BaudSoll)-1)*100%
Wobei gilt:
BaudIst = fosc / 16*(UBBR+1) = 8 000 000 / 16*(27) = 18518.518
Damit gilt fuer den Fehler:
Error[%] = (18518.518 / 19200)-1)*100% = 3,5 %
Und das sollte zu hoch sein und die immer wiederkehrenden falschen Bits erklaeren.
Eure Meinungen dazu...
Lesezeichen