Hallo, ich habe einen ATmega8 und einen ADuC7026 über einen I²C-Bus gekoppelt. Der ADuC7026 ist der Master, während der ATmega8 den Slave bildet. Die Programmierung der integrierten Hardware I²C-Controller ist mit dem ATmega8 kein Problem, da die Register im Datenblatt sehr gut erklärt sind. Beim ADuC7026 sieht das aber etwas anders aus. Ich weiß nicht, wie ich eine gezielte Stopsequenz auslösen soll. Es sind auch keine weiteren Informationen darüber im Netz zu finden. Eine Startsequenz wird automatisch erzeugt, wenn ich das Slave-Adress-Register des ADuC7026 beschreibe: I2C1ADR = 0x02; Danach kann ich ein Byte senden: I2C1MTX = 0x55; Soweit ist alles OK - der Slave empfängt das Byte ordnungsgemäß Nun sollte der Master aber die Übertragung beenden und eine Stopsequenz senden. Die Frage ist jetzt, wie ich das machen soll. Es gibt kein Control-Register (TWCR) wie beim ATmega8, indem nur ein Bit gesetzt werden muss. Vielleicht hat das jemand schonmal gemacht und weiß wie es geht. Wäre schön, wenn mir jemand helfen könnte! Schonmal Vielen Dank ! Gruß Mario
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.