USI
Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Das Universal serial Interface USI ist eine in manchen Atmelcontrollern (z.B. attinny26, attiny2313) verwendete serielle Schnittstelle. Es kann unter anderem als TWI Interface, der Atmelvariante des I2C Buses, verwendet werden.
USI als I2C/TWI Interface
// 2-wire mode; Hold SCL on start and overflow; ext. clock USICR |= (1<<USIWM1) | (1<<USIWM0) | (1<<USICS1);
Mit dieser Konfiguration gelten folgende Tabellen für den SDA respektive SCL Pin:
DDR SDA | Shiftreg. Bit 7 | PORT SDA | PIN SDA |
0 | X | X | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
DDR SCL | Startdet. | Overflowdet. | PORT SCL | PIN SCL |
0 | X | X | X | 1 |
1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 1 |
1 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 | 0 |