PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Attiny2313 als I2C Master



Avr_Gast
19.10.2014, 20:53
Hi

ich versuche schon länger vergeblich mit dem Attiny2313 einen PCF8574 anzusteuern.
Habs mit USI und Software Twi probiert beides funktioniert nicht.

Hier mal der Bascom Code:



$regfile = "attiny2313.dat"
$crystal = 8000000
$baud = 9600

Config Scl = Portb.0
Config Sda = Portb.1
Config I2cdelay = 10

I2cinit

Const Pcf_write = &H40
Const Pcf_read = &H41


Do
I2cstart
I2cwbyte &B01000000
I2cwbyte &B00000000
I2cstop

Print Err

Waitms 500


Loop

End


Am PCF8574 hab ich eine Led gegen 5V geschaltet, um zu sehen ob es funktioniert. Aber aus irgendeinem Grund will es nicht funktionieren vielleicht kann mir ja jemand sagen woran es liegen könnte.

dolivo
20.10.2014, 17:55
hallo,
lies bitte noch mal genau die Bascom-Help zu I2C. Dort findest Du doch alles, oder? Also einfach "I2CSEND &H40, var ". var(iable) ist dann Dein Ausgangsmuster am PCF.
Für das Verständnis sind eventuell die Einzelschritte besser.

Avr_Gast
20.10.2014, 20:50
Hi
hab verschiedene Möglichkeiten ausprobiert, aber nichts hat funktioniert.

dolivo
21.10.2014, 10:20
Hallo,
Deine Frage wäre wohl besser im Unterforum für Bascom-Programmierung aufgehoben, aber vielleicht hilft das:
1. Config i2cdelay würde ich hinter i2cinit setzen.
2. Die const-Befehle werden von Dir nicht verwendet. Bei dem Miniprogramm ist das sicher auch nicht nötig.
3. Die Schleife hätte ich so gemacht (damit man auch etwas sieht):
do
i2csend &H40, &HFE 'in der Annahme, dass an E0 eine LED gegen GND geschaltet werden soll
waitms 500
i2csend &H40, &HFF
waitms 500
loop

Vielleicht klappt das.