16 #include "avr_helper.h" 17 #include <util/delay.h> 22 #if (F_CPU < 16000000UL) || !defined(F_CPU) 23 #error "F_CPU must be defined and must be greather or equal 16MHz" 35 __inline
static void send_byte(uint8_t byte){
36 for(uint8_t mask=0x80; mask; mask >>=1){
38 while(bit_is_clear(SPSR, SPIF));
47 for(uint8_t j=0; j<PIXEL_LEN; j++){
62 SPCR = _BV(SPE) | _BV(MSTR) | _BV(CPHA);
#define PORT_SPI
Символ порта, на который выведен аппаратный SPI.
#define WS_BIT_1
Константа для формирования импульса "1" для WS2812.
сервисный модуль для реализации эффектов Набор вспомогательных функций для базовых манипуляций над це...
void ws2812_show(void)
обновление ленты светододов
#define PIXEL_CNT
Общее количество пикселов
#define WS_BIT_0
Константа для формирования импульса "0" для WS2812.
#define PIN_MOSI
Номер бита линии MOSI.
pixel_t pixels[MAX_TOTAL_PIX]
Массив пикселей предельного размера
#define PIN_SCK
Номер бита линии SCK.
#define PIN_SS
Номер бита линии SS.
аппаратные особенности подключения WS2812.