Richtig. Kleiner 10 in der Teilung gibts Probleme (undefinierte Zustände im Protokoll der TWI-Schnittstelle). Muß man dann anders lösen oder teilen.Zitat:
Zitat von IngBo
MfG Wolfgang
Druckbare Version
Richtig. Kleiner 10 in der Teilung gibts Probleme (undefinierte Zustände im Protokoll der TWI-Schnittstelle). Muß man dann anders lösen oder teilen.Zitat:
Zitat von IngBo
MfG Wolfgang
HI
Also TWBR darf nicht kleiner 10 sein. OK, dass kann ich einfach in die Berechnungsroutine einbauen. (Heute leider nicht mehr, wir müssen noch auf Besuch)
Bei 16MHz und einer Bitrate von 727273 rechnet meins 2 aus, das von Roland Walter 3 was stimmt?!
@Florian:
Bingo; das könnte ein Prob in deinem I²C sein!!
Ganz liebe Grüße,
Tobi
Jo, hoffen wir's, ich probiere es nachher gleich aus und werde dann Bericht erstatten!Zitat:
Zitat von tobimc
*edit*: Mir würden auch Englisch und Deutsch reichen!
HI
Alles klar. Bis heute Abend!
Muss jetzt weg;
Ganz liebe Ostergrüße,
Tobi
HI
Ok; bin wieder da :D
Ist es ok, wenn es, wenn das Ergebnis in einem Prescalter unter 10 liegt in den nächst höheren geht?
Ich habe das mit ner FOR-Schleife gelöst, die 3 mal durchlaufen wird, ausser das Ergebnis stimmt.
Stimmt das Ergebniss dann immernoch nicht, dann kommt diese tolle Fehlermeldung!
Bonne nuit!
Ganz liebe Grüße,
Tobi
HI
So. Die kleiner-10-fehler-kontrolle wurde eingebaut:
http://www.tobias-schlegel.de/PublicData/TwiBitrate.exe
Könnt ihr das kurz checken? Wäre super!!
Ganz liebe Grüße,
Tobi
Irgendwie komisch. Bei 16MHz und ner SCL Frequenz kommt bei deim Programm für TWBR 12 raus und für Prescaler 1.
Entweder ich bin blöd oder.... :
16.000.000/(16+2*12*4^1)=142.875kHz und nicht 400kHz.
4 hoch 1 ist doch nicht 1, sonder 4?!
In deiner Rechnung ist irgendwie:
16.000.000/(16+2*12*1)=400kHz
Aber im Datenblatt steht doch 12 * 4 hoch TWPS Bits(Prescaler) und nicht 12 * TWPS ?!
Wenn ich jetzt richtige liege, wie kommt man dann bei 16MHz überhaupt auf eine SCL Frequenz von über 100kHz ohne das TWBR unter 10 ist?
Hab nämlich grad des Problem.
Gruß Muraad
^
|
|
wieso vergess ich grad immer mich einzuloggen ](*,)
Gruß Muraad
HI Muraad!
Ja, das wird auch so berechnet!! Und da für den Prescaler 1 der Bitwert 0 ist, ist 4^0 = 1 !!Zitat:
Zitat von muraad
Es wir NICHT der Prescalerwert(1, 4, 16, 64), sonder der Bitwert (0, 1, 2, 3) verwendet!!
Wenn man den Prescalerwert nehmen WÜRDE, dann kämen ja astronomisch hohe Zahlen raus!!
(zur Erinnerung 4^64 ist 3,4028236692093846346337460743177e+38 )
:D
Ganz liebe Grüße,
Tobi
Ah ok.
Prescaler 64 hab ich nie gerechnet, deswegen ist es mir nicht gleich aufgefallen. Hatte Presaler immer 1, aber hab des eben falsch verstanden.
Also danke.
Gruß Muraad