i2c.rst 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. I2C
  2. ===========
  3. Overview
  4. --------
  5. ESP32 has two I2C controllers which can be set as master mode or slave mode.
  6. Application Example
  7. -------------------
  8. I2C master and slave example: `examples/18_i2c <https://github.com/espressif/esp-idf/tree/master/examples/18_i2c>`_.
  9. API Reference
  10. -------------
  11. Header Files
  12. ^^^^^^^^^^^^
  13. * `driver/include/driver/i2c.h <https://github.com/espressif/esp-idf/blob/master/components/driver/include/driver/i2c.h>`_
  14. Macros
  15. ^^^^^^
  16. .. doxygendefine:: I2C_APB_CLK_FREQ
  17. .. doxygendefine:: I2C_FIFO_LEN
  18. Type Definitions
  19. ^^^^^^^^^^^^^^^^
  20. .. doxygentypedef:: i2c_cmd_handle_t
  21. Enumerations
  22. ^^^^^^^^^^^^
  23. .. doxygenenum:: i2c_mode_t
  24. .. doxygenenum:: i2c_rw_t
  25. .. doxygenenum:: i2c_trans_mode_t
  26. .. doxygenenum:: i2c_opmode_t
  27. .. doxygenenum:: i2c_port_t
  28. .. doxygenenum:: i2c_addr_mode_t
  29. Structures
  30. ^^^^^^^^^^
  31. .. doxygenstruct:: i2c_config_t
  32. :members:
  33. Functions
  34. ^^^^^^^^^
  35. .. doxygenfunction:: i2c_driver_install
  36. .. doxygenfunction:: i2c_driver_delete
  37. .. doxygenfunction:: i2c_param_config
  38. .. doxygenfunction:: i2c_reset_tx_fifo
  39. .. doxygenfunction:: i2c_reset_rx_fifo
  40. .. doxygenfunction:: i2c_isr_register
  41. .. doxygenfunction:: i2c_isr_free
  42. .. doxygenfunction:: i2c_set_pin
  43. .. doxygenfunction:: i2c_master_start
  44. .. doxygenfunction:: i2c_master_write_byte
  45. .. doxygenfunction:: i2c_master_write
  46. .. doxygenfunction:: i2c_master_read_byte
  47. .. doxygenfunction:: i2c_master_read
  48. .. doxygenfunction:: i2c_master_stop
  49. .. doxygenfunction:: i2c_master_cmd_begin
  50. .. doxygenfunction:: i2c_slave_write_buffer
  51. .. doxygenfunction:: i2c_slave_read
  52. .. doxygenfunction:: i2c_set_period
  53. .. doxygenfunction:: i2s_get_period
  54. .. doxygenfunction:: i2c_set_start_timing
  55. .. doxygenfunction:: i2c_get_start_timing
  56. .. doxygenfunction:: i2c_set_stop_timing
  57. .. doxygenfunction:: i2c_get_stop_timing
  58. .. doxygenfunction:: i2c_set_data_timing
  59. .. doxygenfunction:: i2c_get_data_timing
  60. .. doxygenfunction:: i2c_set_data_mode
  61. .. doxygenfunction:: i2c_get_data_mode
  62. .. doxygenfunction:: i2c_cmd_link_create
  63. .. doxygenfunction:: i2c_cmd_link_delete