Bonjour,
Je travaille actuellement sur un convertisseur ADC. l'ADC est relié par liaison SPI à la Raspberry 3 je souhaite échantillonner à 250kHz.
Je travaillais en python et j'arrivais pas à dépasser une fréquence de 70kHz (Spidev).
Je suis donc passé en C et je bloque. J'ai trouvé un exemple sur internet mais je n'arrive pas à tout comprendre.
[code
#include <bcm2835.h>
#include <stdio.h>
int main(int argc, char **argv) {
if (!bcm2835_init()) {
printf("oops, could not init bcm2835\n");
return 1;
}
bcm2835_spi_begin();
bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST); // The default
bcm2835_spi_setDataMode(BCM2835_SPI_MODE0); // The default
bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_64); // ~ 4 MHz
bcm2835_spi_chipSelect(BCM2835_SPI_CS0); // The default
bcm2835_spi_setChipSelectPolarity(BCM2835_SPI_CS0, LOW); // the default
uint8_t mosi[10] = { 0x60, 0x00 };
uint8_t miso[10] = { 0 };
bcm2835_spi_transfernb(mosi, miso, 2);
printf("Analogue level from SPI: %04x\n", miso[1] + ((miso[0] & 3) << 8));
bcm2835_spi_end();
bcm2835_close();
return 0;
}]
code]
Merci pour votre aide !