Archiv verlassen und diese Seite im Standarddesign anzeigen : TWI/I²C: Wie legt man die slave-id eines AVRs fest?
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
bertl100
03.10.2006, 18:14
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
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.
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.
Twcr = &B00000100 ' erstmal nur TWI aktivieren
Twsr = 0 ' Status und Prescaler Register
Twbr = 18
Einfach wenn man die tw-Befejle braucht, Twcr = &B00000100 und anschließend wieder Twcr = 0 \:D/
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
Dani-Bruchflieger
07.10.2006, 03:03
dafür gibts bei Bascom eine lib zum Runterladen.
i2c.lib oder so, kostet aber auch was!!
Wieso kostet die was? - Ist doch mit dabei! (Jedenfalls bei meiner Vollversion war das alles dabei...)
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....
linux_80
07.10.2006, 10:37
@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.
raptor_79
17.10.2006, 17:07
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.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.