PORTMUX attiny1614

Gast #6323843
Lesenswert?

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.
Gast #6323873
Lesenswert?

Program schrieb:

> 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.

Hmm, mit den Datenblättern ist das heutzutage leider so eine Sache...

Jedenfalls bei dem, was ich habe (schon von Mikrochip, aber nicht von 
gestern oder so) ist die alternate function auf Seite 18 aufgeführt und 
auch auf Seite 108 und 109 das Registerbit spezifiziert.

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