void enc28j60_writeBuffer(enc28j60_connection* c, uint16_t len, uint8_t* data){ spi_cs_on(c->cs_pin); // issue write command spi_write(ENC28J60_WRITE_BUF_MEM); spi_write_buffer(data, len); spi_cs_off(c->cs_pin); }
int main() { // Initialize pins init_leds(); init_spi(); // Init data buffer data_buffer[0] = convert_color(1023,1023,1023); data_buffer[1] = convert_color(512,512,512); // Change byteorder rewrite_byteorder(data_buffer, (uint16_t*) data_buffer, 2); // Write two 32 bit integers spi_write_buffer((uint16_t*) data_buffer, 2); // wait a bit wait_own(wait_led); // Write some more colors spi_write_int32(convert_color(1023,0,0)); wait_own(wait_led); spi_write_int32(convert_color(0,1023,0)); wait_own(wait_led); spi_write_int32(convert_color(0,0,1023)); wait_own(wait_led); spi_write_int32(convert_color(0,0,0)); // Set end notification LED GPIO_SetBits(GPIOD, GPIO_Pin_14); while(1); }