Estoy buscando una manera de leer realmente la configuración de un pin del procesador Atmel (SAMD-21); pero no estoy seguro de cómo se obtiene la información correcta de la hoja de datos.
Leí el pinout, que tiene nombres como PA00, PB03, etc. Al leer en la sección multiplexada, veo una tabla con cada pin, pero no puedo obtener lo que realmente hace. Esperaba algo como "SPI MOSI" o "Serial TX" y demás; en cambio, la tabla tiene una tonelada de entrada que no se parece a nada que reconozca.
Por ejemplo, el Pin 13 es PA08, ya que el tipo se menciona como I2C, y el resto de la línea tiene una entrada como
NMI AIN[16] X[0] SERCOM0/Pad0 SERCOM2/Pad0 TCC0/WO[0] TCC1/WO[2] I2S/SD[1]
Hice una búsqueda en la sección relacionada con el pinout, pero solo hay esta tabla, que si bien me dice si el pin es un I2C o SPI, no me da ningún contexto para traducir en lo que vería en un tablero de ruptura, por ejemplo.
¿Hay una tabla de conversión que muestre lo que significan estas entradas? Soy un ingeniero de software, por lo que este es mi primer intento de leer una hoja de datos para un procesador.
ACTUALIZACIÓN:
Encontré algo de información en línea, después de buscar SERCOM.
A mi entender, el SAMD21 tiene pines programables, pero algunos están configurados como predeterminados para la comunicación relacionada con I2C, SPI y UART. Estos están bajo el nombre "SERCOM".
Esto muestra básicamente el valor predeterminado para cada pin, usando una tabla de cero arduino como referencia
Pin Default SERCOM SERCOM alt
-----------------------------------------
PA00 xtal SERCOM1.0
PA01 xtal SERCOM1.1
PB08 SERCOM4.0
PB09 SERCOM4.1
PA04 SERCOM0.0
PA05 SERCOM0.1
PA06 SERCOM0.2
PA07 SERCOM0.3
PA08 SERCOM0.0 SERCOM2.0
PA09 SERCOM0.1 SERCOM2.1
PA10 SERCOM0.2 SERCOM2.2
PA11 SERCOM0.3 SERCOM2.3
PB10 MOSI SERCOM4.2
PB11 SCK SERCOM4.3
PA12 MISO SERCOM2.0 SERCOM4.0
PA13 EDBC SERCOM2.1 SERCOM4.1
PA14 SERCOM2.2 SERCOM4.2
PA15 SERCOM2.3 SERCOM4.3
PA16 SERCOM1.0 SERCOM3.0
PA17 SERCOM1.1 SERCOM3.1
PA18 SERCOM1.2 SERCOM3.2
PA19 SERCOM1.3 SERCOM3.3
PA20 SERCOM5.2 SERCOM3.2
PA21 SERCOM5.3 SERCOM3.3
PA22 SDA SERCOM3.0 SERCOM5.0
PA23 SCL SERCOM3.1 SERCOM5.1
PA24 USB SERCOM3.2 SERCOM5.2
PA25 USB SERCOM3.3 SERCOM5.3
PB22 EDBG TX SERCOM5.2
PB23 EDBG RX SERCOM5.3
PA30 SWCLK SERCOM1.2
PA31 SWDIO SERCOM1.3
PB02 SERCOM5.0
PB03 RX LED SERCOM5.1
Básicamente, puedes establecer cualquiera de estos pines si necesitas puertos adicionales para I2C, SPI o UART.
Ya que estoy usando el SAMD21 desnudo; Creo que los pines ni siquiera tienen un conjunto predeterminado. Si alguien hubiera empezado con un SAMD21 simple, realmente agradecería alguna orientación sobre cómo configuró el chip.
Enlace a la hoja de datos: enlace
Pinout : page 26
Muxing table: page 33 to 36