aboutsummaryrefslogtreecommitdiffstats
path: root/i2c.s
diff options
context:
space:
mode:
Diffstat (limited to 'i2c.s')
-rw-r--r--i2c.s15
1 files changed, 15 insertions, 0 deletions
diff --git a/i2c.s b/i2c.s
new file mode 100644
index 0000000..83ef974
--- /dev/null
+++ b/i2c.s
@@ -0,0 +1,15 @@
+i2cwait:
+ in r17, TWCR
+ sbrs r17, TWINT
+ rjmp i2cwait
+; r16 : addr
+i2cstart:
+ ldi r17, (1 << TWSTA) | (1 << TWEN) | (1 << TWINT)
+ out TWCR, r17
+ rcall i2cwait
+ out TWDR, r16
+ andi r17, ~(1 << TWSTA)
+ out TWCR, r17
+ rcall i2cwait
+; r16: data
+writebyte: