Forum: Compiler & IDEs TWI Beispiel von Jörg Wünsch


von Gizmo (Gast)


Lesenswert?

Hallo

Ich beschäftige mich gerade mit TWI auf dem ATMEGA 128. Ich habe mit das 
TWI Beispiel von Jörg Wünsch im WINAVR angesehen. dort taucht öfters der 
Begriff _BV auf, was bedeutet das ?

wenn ich das Beispiel Programm von Jörg wünsch in den ATMEGA 128 flashe 
bekomme ich an PD0(SCL) ein sauberes Clock Signal raus.
Allerdings liegt an PD1(SDA) überhaupt kein Signal an. An was könnte das 
liegen ?

Dann hätte ich da noch eine Frage, wenn ich die PORT Pins des ATMEGA 128 
nutzen möchte muss ich ja das Daten Richtungs Register eines PORTS 
entsprechend als Eingang o. Ausgang setzen. Je nach dem was ich machen 
möchte. Genau das verstehe ich bei TWI nicht, SCL also PD0 am ATMEGA 128 
ist ein Ausgang, das ist klar. Aber wie Läuft das mit PD1(SDA) dieser 
PIN wird ja als Eingang und als Ausgang verwendet.

Der ATMEGA 128 wird als Master betrieben.

es wäre sehr nett, wenn mir jemand helfen könnte da ich diese Sache 
schnellst möglich zuende bringen muss und momentan sehr unter Zeitdruck 
stehe.

Gruß Gizmo

von Εrnst B. (ernst)


Lesenswert?

_BV(xx) ist einfach ein define auf (1<<(xx))

Gibt also ein Byte zurück, in dem genau das xx'te Bit gesetzt ist.

Kommt aus der AVR-Libc und wird verwendet weils nicht so "gefährlich" 
aussieht wie die ganzen Bitschiebereien...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.