Advertisement
kolban

Untitled

Oct 5th, 2017
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. #include <driver/spi_master.h>
  2. void test_spi_task(void *ignore) {
  3. ESP_LOGD(tag, ">> test_spi_task");
  4.  
  5. spi_bus_config_t bus_config;
  6. bus_config.sclk_io_num = clkPin; // CLK
  7. bus_config.mosi_io_num = mosiPin; // MOSI
  8. bus_config.miso_io_num = misoPin; // MISO
  9. bus_config.quadwp_io_num = -1; // Not used
  10. bus_config.quadhd_io_num = -1; // Not used
  11. ESP_LOGI(tag, "... Initializing bus.");
  12. ESP_ERROR_CHECK(spi_bus_initialize(HSPI_HOST, &bus_config, 1));
  13.  
  14.  
  15. spi_device_handle_t handle;
  16. spi_device_interface_config_t dev_config;
  17. dev_config.address_bits = 0;
  18. dev_config.command_bits = 0;
  19. dev_config.dummy_bits = 0;
  20. dev_config.mode = 0;
  21. dev_config.duty_cycle_pos = 0;
  22. dev_config.cs_ena_posttrans = 0;
  23. dev_config.cs_ena_pretrans = 0;
  24. dev_config.clock_speed_hz = 10000;
  25. dev_config.spics_io_num = csPin;
  26. dev_config.flags = 0;
  27. dev_config.queue_size = 1;
  28. dev_config.pre_cb = NULL;
  29. dev_config.post_cb = NULL;
  30. ESP_LOGI(tag, "... Adding device bus.");
  31. ESP_ERROR_CHECK(spi_bus_add_device(HSPI_HOST, &dev_config, &handle));
  32.  
  33.  
  34. char data[3];
  35. spi_transaction_t trans_desc;
  36. trans_desc.address = 0;
  37. trans_desc.command = 0;
  38. trans_desc.flags = 0;
  39. trans_desc.length = 3 * 8;
  40. trans_desc.rxlength = 0;
  41. trans_desc.tx_buffer = data;
  42. trans_desc.rx_buffer = data;
  43.  
  44. data[0] = 0x12;
  45. data[1] = 0x34;
  46. data[2] = 0x56;
  47.  
  48. ESP_LOGI(tag, "... Transmitting.");
  49. ESP_ERROR_CHECK(spi_device_transmit(handle, &trans_desc));
  50.  
  51. ESP_LOGI(tag, "... Removing device.");
  52. ESP_ERROR_CHECK(spi_bus_remove_device(handle));
  53.  
  54. ESP_LOGI(tag, "... Freeing bus.");
  55. ESP_ERROR_CHECK(spi_bus_free(HSPI_HOST));
  56.  
  57. ESP_LOGD(tag, "<< test_spi_task");
  58. vTaskDelete(NULL);
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement