PIC uno32 SPI comunicación con sensor

1

Por lo tanto, estoy tratando de comunicarme con un sensor de calor utilizando SPI con un chipkit pic uno32.

He conectado el Pin 10 (SS), el Pin 11 (DIN), el Pin 12 (DOUT) y el Pin 13 (CLK) en la placa Uno32 al sensor

Selección de chip SS DIN - Entrada de datos DOUT - Salida de datos CLK - Reloj

int i; IEC0CLR=0xFFFFFFFF; // disable all interrupts

SPI1CON=0; //desliga SPI

SPI1BUF=0; //limpa buffer

SPI1BRG=0x1; // use FPB/4 clock frequency

SPI1STATCLR=0x40; //limpa bit SPIROV

SPI1CONSET=0x0520; // 16 BITS | FALLING EDGE | Master Mode

SPI1CONSET=0x8000; //liga SPI

SPI1BUF=0x10; // transmit an A characte
while(SPI1STAT & BUSY)
{
    write_str("A receber\n\r");
}
printf("%d\n\r",SPI1BUF);   

La función printf y write_str funciona y envía datos a través del puerto serie (UART). Entonces, cuando pongo algo en el búfer se supone que transmite esos datos y recibo los datos del sensor, en este caso la temperatura (valor con 10 bits). Sin embargo, siempre obtengo el valor 0 (que corresponde a 0 grados centígrados, que es incorrecto).

Necesito ayuda,

Gracias

    
pregunta cr4zypt

1 respuesta

3

Busque el operador && en su manual de referencia de C, y en qué se diferencia de & .

    
respondido por el Kaz

Lea otras preguntas en las etiquetas