¿Los puertos de comunicacion mosi o miso se pueden asignar desde el IDE en caso dado de requerir, por ejemplo... dos sensores que requieran usar alguno de estos al mismo tiempo?
No son puertos sino que son pines con funciones determinadas que pertenecen al puerto de comunicación sincrónica llamado SPI Serial Peripherical Interface y dispone de :
- SCLK o SCK : Señal de reloj del bus. Esta señal rige la velocidad a la que se transmite cada bit.
- MISO (Master Input Slave Output): Es la señal de entrada a nuestro dispositivo, por aquí se reciben los datos desde el otro integrado.
- MOSI (Master Output Slave Input): Transmisión de datos hacia el otro integrado.
- SS o CS : Chip Select o Slave Select, habilita el integrado hacia el que se envían los datos. Esta señal es opcional y en algunos casos no se usa.
En este grafico ves que se pueden comandar varios dispositivos SPI solo con activar en LOW el SS del dispo que habilites.
Es la comunicación mas rapida de la que dispone un Arduino.
Dos sensores al mismo tiempo dice.
Nada es al mismo tiempo. Quitate esa idea de la cabeza. Siempre es uno primero y el otro despues, que ocurra a pocs microsegundos no quita que sean en diferentes tiempos de todos modos.
En cuanto a esto... mencionas que suele no usarse, pero hago suposicion y tomando en referencia dicho esquema, pordia utilizarce no es asi?
Es precisamente por ello mi duda... hablando ya en CODIGO como es que se logra esa comunicacion entre puertos SPI sin que exista algun tipo de inerferencia o¿cruze de señal? por parte del SPIMASTER
A ver, eso lo copié y pegué. EL SS o CS se usa siempre porque si no lo pones en LOW el dispositivo no se habilita.
Ya te expliqué que cada dispositivo se selecciona poniéndolo en LOW. Cuando eso pasa los demas por tener resistencia Pull up estarán inhabilitados de modo que no hay interferencia (como tu dices) posible.
Y de nuevo queda clara la secuencialidad de la comunicación.
Selecciono dispo 1 con LOW en su CS.1 Comunico ida o vuelta, subo CS1 a HIGH y lo dejo inhabilitado.
Selecciono dispo 2 con LOW en su CS2. Comunico ida o vuelta, subo CS2 a HIGH y lo dejo inhabilitado tmb.
Asi hasta 32 dispositivos.
Permite velocidad mayores a los 400Kb del I2C de modo que es sumamente rápido y salvo por otro método llamado DMA es el mas rapido en los microcontroladores.
La verdad es que no se como realizar una funcion mediante pulsacion manual y transmitir mediante un modulo nrf24L01... para ser especifico un mando rc
Arduino nRF24L01 tutorial busca en Google. Hay muchos
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.