bonjour,
je travaille avec une sonde PT100 coulé à un ampli MAX31865 qui s'interface sur le bus SPI.
Mon code de test:
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#define cs 25
 
int main()
{	
	unsigned char spi_config[] = {0x80, 0xA2};	//reg config
	unsigned char spi_msb = 0x01, spi_lsb = 0x02;
 
	wiringPiSetup();
	wiringPiSPISetup(1, 500000); // Initialisation du bus SPI(0) à 500KHz
 
	pinMode(cs, OUTPUT);
	digitalWrite(cs, HIGH);
	usleep(10000);
 
	digitalWrite(cs, LOW);	//selection du module
        //
    wiringPiSPIDataRW(1, spi_config, 2);
    digitalWrite(cs, HIGH);
 
    //lecture du résultat de la conversion
    digitalWrite(cs, LOW);	//selection du module
    wiringPiSPIDataRW(1, &spi_msb, 1);
    wiringPiSPIDataRW(1, &spi_lsb, 1);
    digitalWrite(cs, HIGH);
 
    printf("Ox%x Ox%x\n", spi_msb, spi_lsb);
 
	exit(EXIT_SUCCESS);
}
spi_msb et spi_lsb restent toujours à 0.
A l'oscillo, la broche cs passe bien à 0 puis remonte mais je ne vois jamais rien sur la broche d'horloge.
Ce code ne me semble pas faux, le SPI est validé sur le Raspberry et j'ai utilisé aussi bien BCM19, BCM20, BCM21 que BCM9, BCM10, BCM11.
Si quelqu'un a une idée, merci...