Forum: Mikrocontroller und Digitale Elektronik SAM4E TWI1 initialisieren


von Adam P. (adamap)


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

von Adam P. (adamap)


Lesenswert?

Problem gelöst!

Habe durch Zufall noch diesen Beitrag gefunden:

Beitrag "Atmel SAM TWI Peripherie auf JTAG Pin nutzen"

Kurzfassung was bei mir fehlte:
1
// TDI und TDO deaktivieren
2
MATRIX->CCFG_SYSIO |= (1 << 4) | (1 << 5);

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.