Hi,
bei einer Quarzfrequenz von 8MHz und einer Baud von 4800 habe ich mir
eine Fehlerrate von ca 0,19% ausgerechnet. Wenn dieser Wert stimmt, ist
es unlogisch, dass im Mittel bei jeder dritten Datenübertragung nichts
mehr geht!? - oder liege ich da falsch?
Außerdem kommt ja ABSOLUT NICHTS mehr zurück, wenn ein
Übertragungsfehler auftreten würde, würde ja halt was Falsches
zurückkommen, oder?
Ich habe den MAX232 mal ersetzt, tritt immernoch der gleiche Fehler auf!
Das Programm habe ich auf folgendes vereinfacht:
1 | $regfile = "2313def.dat"
|
2 | $crystal = 8000000
|
3 | $baud = 4800
|
4 |
|
5 | On Urxc Signal
|
6 | Enable Urxc
|
7 | Enable Interrupts
|
8 |
|
9 | Do
|
10 | !NOP
|
11 | Loop
|
12 |
|
13 | Signal:
|
14 | Dim Inb As Byte
|
15 | Inb = Udr
|
16 | Print Inb
|
17 | Return
|
Ich wüsste nicht, wo bei dem Code ein Fehler liegen könnte?
Auf PC-Seite habe ich auch mal verschiedene Terminal-Programme benutzt,
bei allen das gleiche!
Ich schicke jetzt per VB Zufallszahlen an den uC, im 2-Sekunden Takt.
Der uC braucht 23ms zum Antworten.
Manchmal hängt es sich nach der ersten, manchmal erst anch der 15.
Übertragung auf ...
Der Fehler ist nicht reproduzierbar!
Um die Zeit kurz davor zu untersuchen, leihe ich mir morgen ein Oszi
....
Hat jemand einen Tipp, wie ich jetzt noch weiter den Fehler suchen
könnte?