AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
net/spi/demo_spi.c

Demo bus SPI Ce programme écrit un octet dans un registre et relit cet octet en vérifiant que la valeur lue est identique à celle écrite.
Si cela fonctionne, la LED1 clignote régulièrement, sinon elle flashe rapidement.

#include <avrio/led.h>
#include <avrio/spi.h>
#include <avrio/delay.h>
/* constants ================================================================ */
#define TEST_BYTE 0x55
/* private functions ======================================================== */
// ------------------------------------------------------------------------------
static void
vAssert (bool test) {
if (test == false) {
for (;;) {
delay_ms (50);
delay_ms (150);
}
}
}
/* main ===================================================================== */
int
main (void) {
uint8_t ucByte;
for (;;) {
vSpiMasterWrite (TEST_BYTE);
ucByte = ucSpiMasterRead();
vAssert (ucByte == TEST_BYTE);
delay_ms (500);
}
return 0;
}
/* ========================================================================== */