Rainbow-electronics ATmega163L Bedienungsanleitung Seite 77

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 156
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 76
ATmega163(L)
77
rjmp wait1
in r16, TWSR ; Check value of TWI Status Register.
cpi r16, START ; If status different from START go to ERROR
brne ERROR
ldi r16, 0xc8 ; Load SLA+W into TWDR register
out TWDR, r16
ldi r16, (1<<TWINT) | (1<<TWEN)
out TWCR, r16 ; Clear TWINT bit in TWCR to start transmission of address
wait2: in r16, TWCR ; Wait for TWINT flag set. This indicates that
sbrs r16, TWINT ; SLA+W has been transmitted, and ACK/NACK has
rjmp wait2 ; been received
in r16, TWSR ; Check value of TWI Status Register. If status
cpi r16, MT_SLA_ACK ; different from MT_SLA_ACK, go to ERROR
brne ERROR
ldi r16, 0x33 ; Load data (here, data = 0x33) into TWDR register
out TWDR, r16
ldi r16, (1<<TWINT) | (1<<TWEN)
out TWCR, r16 ; Clear TWINT bit in TWCR to start transmission of data
wait3: in r16, TWCR ; Wait for TWINT flag set. This indicates that
sbrs r16, TWINT ; data has been transmitted, and ACK/NACK has
rjmp wait3 ; been received
in r16, TWSR ; Check value of TWI Status Register. If status
cpi r16, MT_DATA_ACK ; different from MT_DATA_ACK, go to ERROR
brne ERROR
ldi r16, 0x44 ; Load data (here, data = 0x44) into TWDR register
out TWDR, r16
ldi r16, (1<<TWINT) | (1<<TWEN)
out TWCR, r16 ; Clear TWINT bit in TWCR to start transmission of data
;<send more data bytes if needed>
wait4: in r16, TWCR ; Wait for TWINT flag set. This indicates that
sbrs r16, TWINT ; data has been transmitted, and ACK/NACK has
rjmp wait4 ; been received
in r16, TWSR ; Check value of TWI Status Register. If status
cpi r16, MT_DATA_ACK ; different from MT_DATA_ACK, go to ERROR
brne ERROR
ldi r16, (1<<TWINT) | (1<<TWSTO) | (1<<TWEN)
out TWCR, r16 ; Transmit STOP condition
Seitenansicht 76
1 2 ... 72 73 74 75 76 77 78 79 80 81 82 ... 155 156

Kommentare zu diesen Handbüchern

Keine Kommentare