Atmega8 TWI Initialisierungsproblem

OP #3209759
Lesenswert?

Hallo,

ich nutze den Atmega8 und möchte per I2C-Bus / TWI einen Motortreiber 
(TMC222)ansprechen.

Ich initialisiere den Bus wie folgt:
1
#ifndef F_CPU
2
#define F_CPU 16000000UL
3
#endif
4

5
/* I2C clock in Hz */
6
#define SCL_CLOCK  100000L
7

8

9
/*************************************************************************
10
 Initialization of the I2C bus interface. Need to be called only once
11
*************************************************************************/
12
void i2c_init(void)
13
{
14
  /* initialize TWI clock: 100 kHz clock, TWPS = 0 => prescaler = 1 */
15

16
  TWSR = 0;                         /* no prescaler */
17
  TWBR = ((F_CPU/SCL_CLOCK)-16)/8;  /* must be > 10 for stable operation */

Den Code habe ich im Internet gefunden.

Nach der Initialisierung liegen am SCL 0 Volt an. Und das trotz 
Pull-Ups.

Kann mir da jemand schnell helfen?

Viele Grüße
Gast #3209786
Lesenswert?

Hi

>Nach der Initialisierung liegen am SCL 0 Volt an. Und das trotz
>Pull-Ups.

Du hast TWI nicht eingeschaltet: TWEN in TWCR setzen.

>Den Code habe ich im Internet gefunden.

Sch... Internet. Lies lieber das Datenblatt.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren