configuración del pin CS / SS

1

Estoy usando un ATtiny861a y quiero habilitarlo para usar SPI. Al hacer esto necesito asignar no uno, sino dos pines CS / SS para comunicarme con una radio y una memoria externa. ¿Es necesario que el pin CS / SS esté conectado a un pin ADC o podría estar conectado a un pin AREF, PCINT o OC1A / OC1B?

    
pregunta Therusscher

1 respuesta

2

Creo que puedes usar cualquier pin GPIO como CS / SS. Tenga en cuenta que necesitará un pin diferente para cada dispositivo esclavo. Por ejemplo, digamos que device0 SPI CS está conectado al pin 5 de PORTD, y device1 SPI CS está conectado al pin 6 de PORTD:

//init ports    
DDRD  |= (1 << 5) | (1 << 6);    //sets PORTD bits 5 and 6 to output
PORTD |= (1 << 5) | (1 << 6);    //sets PORTD bits 5 and 6 to high (spi CS inactive)

//spi device0
PORTD &= ~(1 << 5);    //resets device0 CS (makes it active)
//SPI send/receive stuff here
PORTD |= (1 << 5);     //sets device0 CS (makes it inactive)

//spi device1
PORTD &= ~(1 << 6);    //resets device0 CS (makes it active)
//SPI send/receive stuff here
PORTD |= (1 << 6);     //sets device0 CS (makes it inactive)
    
respondido por el jfri2

Lea otras preguntas en las etiquetas