Hallo,
ich habe gerade das Problem gehabt, dass ich I2C von PB1/2 auf PA1/2
legen wollte. Dazu nutzt man PORTMUX. Im Datenblatt S. 137 ist aber kein
Option hierfür gegeben. Man kann SPI USART usw. muxen, aber kein TWI.
Ich habe dann in den Projektdateien geguckt und foglendes gefunden:
1 | /* PORTMUX.CTRLB bit masks and bit positions */
|
2 | #define PORTMUX_USART0_bm 0x01 /* Port Multiplexer USART0 bit mask. */
|
3 | #define PORTMUX_USART0_bp 0 /* Port Multiplexer USART0 bit position. */
|
4 | #define PORTMUX_SPI0_bm 0x04 /* Port Multiplexer SPI0 bit mask. */
|
5 | #define PORTMUX_SPI0_bp 2 /* Port Multiplexer SPI0 bit position. */
|
6 | #define PORTMUX_TWI0_bm 0x10 /* Port Multiplexer TWI0 bit mask. */
|
7 | #define PORTMUX_TWI0_bp 4 /* Port Multiplexer TWI0 bit position. */
|
Sprich wenn ich
PORTMUX.CTRLB |= 0x10; setze, funktioniert es. Verstehe ich das
Datenblatt falsch? Oder ist das einfach fehlerhaft?
Ggf. hilft es jemandem... Ggf. bin ich auch zu doof.