dafür gibts bei Bascom eine lib zum Runterladen.
i2c.lib oder so, kostet aber auch was!!
Mit dieser lib kannst du dann ein Register beschreiben, welches die Slaveadresse beinhaltet .
CONFIG I2CSLAVE = address , INT = interrupt , TIMER = tmr
Hallo,
ich möchte über I²C Werte an einen Mega8 übertragen, der diese dann über ein LCD-Display ausgibt. Wie lege ich denn die Slave-ID des Mega8 fest? Will später das LCD-Display ähnlich wie RN-KeyLCD ansteuern. Also einfach i2cstart, i2csend und i2cstop.
Gruß
Werner
dafür gibts bei Bascom eine lib zum Runterladen.
i2c.lib oder so, kostet aber auch was!!
Mit dieser lib kannst du dann ein Register beschreiben, welches die Slaveadresse beinhaltet .
CONFIG I2CSLAVE = address , INT = interrupt , TIMER = tmr
Schau dich da mal um, das kostet nix.
https://www.roboternetz.de/wissen/index.php/TWI_Praxis
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Den Artikel habe ich mir vorher auch schon angeschaut. Wäre es möglich, nur den Slave so umständlich zu programmieren und dann beim Master die einfache Ansteuerung verwenden.
umständlich ? naja.
Im Masterprogramm kannst du jedenfalls die normalen I2Cxyc funktionen verwenden.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hallo,
mittlerweile klappt so gut wie alles. Im Masterprogramm habe ich jetzt I2Cxyc mit dem Code von dem Artikel vermischt. Einzige Hürde ist, dass man twcr auf null setzen muss, ansonsten klappts mit I2Cxyc nicht.
Einfach wenn man die tw-Befejle braucht, Twcr = &B00000100 und anschließend wieder Twcr = 0 \/Code:Twcr = &B00000100 ' erstmal nur TWI aktivieren Twsr = 0 ' Status und Prescaler Register Twbr = 18
Das einzige was ich nicht verstehe ist, dass mein i2csend-Befehl exakt jedes zweite Byte verliert... Muss momentan jeden Wert zweimal senden. Dann klappts wunderbar.
Gruß
Werner
Wieso kostet die was? - Ist doch mit dabei! (Jedenfalls bei meiner Vollversion war das alles dabei...)Zitat von bertl100
Ich mußte mich da auch nicht mit irgendwelchen Registern rumschlagen, sondern einfach mit Config TWI = 100000 ist der Takt auf 100khz gesetzt - ohne große rumrechnereien....
MfG Dani.
@Dani-Bruchflieger
Die Lib die bis jetzt was extra gekostet hat, war die für den TWI- bzw. I2C-Slave.
Das was an I2C dabei ist, ist nur als Master tauglich, ausser man macht es per Hand, so wie auf der Seite im Wiki.
Das besondere an der zu zahlenden Lib ist, das man damit auch I2C machen kann, wenn der AVR kein TWI eingebaut hat, oder man andere Pins als die dafür vorgesehenn verwenden muss/will.
ich hab die lib gekauft. kostet 15€ oder so. bei mcs kann man per paypal bezahlen. tut man das, kann man die datei sofort runterladen.
ich mein, 15€... sollns es doch haben. dafür ist es bequemer, und überhaupt.
das steht doch in der Bascom hilfe oder nich.
Lesezeichen