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