SAM4E TWI1 initialisieren

OP #7954917
Lesenswert?

Hallo zusammen,

bei meinem SAM4E16E möchte ich gerne die zweite I2C Schnittstelle (TWI1) nutzen mit ASF. Leider "wackelt" weder der Clock (PB5) noch der Daten (PB4) Pin.

Was habe ich bis jetzt gemacht:

Hardware:

  • Von JTAG auf SWD umgestellt, damit die I2C Pins frei sind
  • Pull-Up an PB4 von 100k (JTAG) auf 2k2 geändert
  • Pull-Up an PB5 hinzugefügt

Software:

  • Pins initialisert
1
#define TWI1_DATA_GPIO        PIO_PB4_IDX
2
#define TWI1_DATA_FLAGS       (IOPORT_MODE_MUX_A)
3
#define TWI1_CLK_GPIO         PIO_PB5_IDX
4
#define TWI1_CLK_FLAGS        (IOPORT_MODE_MUX_A)
5

6
ioport_set_pin_mode(TWI1_DATA_GPIO, TWI1_DATA_FLAGS);
7
ioport_disable_pin(TWI1_DATA_GPIO);
8

9
ioport_set_pin_mode(TWI1_CLK_GPIO, TWI1_CLK_FLAGS);
10
ioport_disable_pin(TWI1_CLK_GPIO);
  • Funktionierende Funktionen zum Init. verwendet, jedoch zwei eigene defines angepasst auf TWI1:
1
#define TWI_INTERFACE    TWI1
2
#define TWI_IRQ          TWI1_IRQn
  • TWI Handler von TWI0 zu TWI1 geändert

Leider reicht das anscheinend nicht aus. Der JTAGSL Pin ist über 1k gegen GND, der ist doch nur wichtig, wenn man boundary scan nutzen möchte, oder?

Muss man vllt. noch irgendwie die JTAG Funktionalität deaktivieren? Dachte das passiert automatisch durch das Pin Multplexing (ioport_set_pin_mode).

Mir fällt gerade nichts weiteres mehr ein wo ich noch schauen könnte. Bin für jede Idee dankbar.

Gruß Adam

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