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);
}
Exemple #2
0
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);
}