Hallo, ich habe ein Verständnisproblem mit der Belegung des 3-Wire USI TWI Interfaces. Die TWI Master Software mit verschieden Taktraten über Timer1 ist geschrieben, nur mir ist aus dem Datenbatt nicht eindeutig ersichtlich, welche Pins belegt sind. Ich habe für Mich festgelegt: PB0 MOSI (DI) PB1 MISO (DO) PB2 SCK (USCK) PB3 #SS (#Enable) Aber warum liegen auf Port A auch diese Signale? PA2 USCK PA1 DO PA0 DI Siehe Datenblatt S.63ff und S.66ff. Hier noch meine Sendefunktion:
1 | uchar ispTransmit_hw(uchar send_byte) |
2 | { |
3 | USIDR = send_byte; |
4 | USISR = (1<<USIOIF); |
5 | do { |
6 | USICR = (1<<USIWM0)|(1<<USICS1)|(1<<USICLK)|(1<<USITC); |
7 | timer1_delay(); |
8 | } while ((USISR & (1<<USIOIF)) == 0); |
9 | return USIDR; |
10 | } |
Hier das Datenblatt: http://www.atmel.com/dyn/resources/prod_documents/doc2588.pdf