#include <SPI.h> //подключаем библиотеку SPI
enum { digitPin = 9 }; //выбираем линию SS регистра на 9-м пине Arduino
unsigned long timer=0, digitTimerPrev=0;
int i=0, j=0;
void setup(){
SPI.begin(); //инициализируем SPI
//переводим выбранный для передачи пин в режим вывода
pinMode(digitPin, OUTPUT);
}
void loop(){
//Заполняем массив байтами, которые будем передавать
static uint8_t digit[16] =
{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
//передаем по два байта из массива и защелкиваем регистры
timer=millis();
if (timer-digitTimerPrev>1000){
digitalWrite(digitPin, LOW);
SPI.transfer(digit[i]);
digitalWrite(digitPin, HIGH);
i<9 ? i++ : i=0;
digitTimerPrev=timer;
}
}
Комментариев нет:
Отправить комментарий