Communication PIC uno32 SPI avec capteur

cr4zypt

Communication PIC uno32 SPI avec capteur


Donc, j’essaie de communiquer avec un capteur de chaleur en utilisant SPI avec un chipkit pic uno32.

J’ai connecté la broche 10 (SS), la broche 11 (DIN), la broche 12 (DOUT) et la broche 13 (CLK) de la carte Uno32 au capteur

SS-Chip Select DIN – Entrée de données DOUT – Sortie de données CLK – Horloge


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 recebernr");
}
printf("%dnr",SPI1BUF);   

La fonction printf et write_str fonctionne et envoie des données via le port série (UART). Donc, quand je mets quelque chose dans le tampon, il est censé transmettre ces données et recevoir les données du capteur, dans ce cas, la température (valeur à 10 bits). Cependant j’obtiens toujours la valeur 0 (ce qui correspond à 0 degress celcius qui est incorrect).

Besoin d’aide,

Merci

Réponses


 Kaz

Recherchez l’ &&opérateur dans votre manuel de référence C et en quoi il diffère &.

m.Alin

Belle prise .. +1

cr4zypt

J’ai oublié cela, alors je l’ai corrigé et mis à jour mon code. Maintenant, je reçois le registre SPI1BUF complètement rempli de 1. J’ai aussi vérifié le câblage et corrigé, j’avais un Din connecté au DIn du capteur et je devrais être PIC DOUT au DIN du capteur

 

avec, capteur, communication, PIC, SPI, uno32

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *