AVR I2C/TWI Bytefolge and OLED senden

OP #6643851
Lesenswert?

Moin, wie ich in meinem Beitrag 
Beitrag "NHD-0420CW-AY3 4x20 Zeilen OLED in Betrieb nehmen" geschrieben habe, 
funktioniert I2C/TWI soweit ganz gut.

Allerdings mache ich immer folgendes:
1
twi_start
2
register übertragen
3
daten übertragen
4
twi_stopp

Das nun für jedes Byte. Kann man Auch innerhalb twi_start und twi_stopp 
eine Bytefolge übertragen? Speziell geht es um den US2066 Controller.

Ich habe versucht, entsprechend des Datenblattes,
1
Wait for TWINT Flag set. This indicates that the DATA has been transmitted, and ACK/NACK hasbeen received.

die Übertragung abzuwarten und dann weitere Bytes zu senden. Es 
erscheinen dann aber nur wilde zeichen.

Gruß
Holger
#6643874
Lesenswert?

Holger D. schrieb:Kann man Auch innerhalb twi_start 
und twi_stopp
> eine Bytefolge übertragen?
Klar, das  TWINT Flag wird von Deiner Software geprüft sonst würde das
register übertragen
daten übertragen
nicht funktionieren. Also einfach
register übertragen
daten übertragen
mehr daten ...
Ob der Chip das mag liegt am Register. Meißt ist es so das bei zuviel 
Daten die einfach in die nächten geschrieben werden. Ist es eine 
Datenadresse könnte so der ganze Speicher in einem Rutsch voll 
geschrierben werden.
(Normalerweise jedoch sollte ein Satz nicht mehr als 64 Bytes haben)
OP #6643929
Lesenswert?

Stefan ⛄ F. schrieb:
> Irgendwas hast du dabei falsch gemacht. Vermutlich in Zeile 42 oder da,
> wo der Siemens Lufthaken hängt.

Moin, vielen Dank für den gehaltvollen Kommentar. Einen Simens Lufthaken 
brauche ich aufgrund der stabilen Unterlage nicht. Und auch in Zeile 42 
( übrigens schön, dass Du wohl schon einmal was von Hitchhiker's Guide 
to the Galaxy gehört hast) war der Fehler nicht. Es lag daran, dass ich 
immer das Register mit übertragen hatte.

Nun also Startsequenz, Adresse, Register, Datenbyte 0, ...., Datenbyte 
n, Stoppsequenz.


Gruß
Holger

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren