avr/ws2812/main.c

29 lines
646 B
C

#include <avr/io.h>
#include <util/delay.h>
#include <dio.h>
#include "ws2812.h"
/*
#include <simavr/avr/avr_mcu_section.h>
AVR_MCU(F_CPU, "attiny85");
const struct avr_mmcu_vcd_trace_t _mytrace[] _MMCU_ = {
{ AVR_MCU_VCD_SYMBOL("DDRB"), .what = (void*)&DDRB, },
{ AVR_MCU_VCD_SYMBOL("PORTB"), .what = (void*)&PORTB, },
};
*/
#define PIXEL_COUNT 1
const rgb_t pixels[PIXEL_COUNT] = {
(rgb_t){ .r = 255, .g = 0, .b = 255, },
};
int main (void) {
dio_t pin = (dio_t){ .ddr = &DDRB, .port = &PORTB, .pin = &PINB, .addr = 2 };
dio_set_direction(&pin, LINE_OUT);
np_write_rgb(&pin, pixels, PIXEL_COUNT);
return 0;
}