tca9555_driver.c 863 B

123456789101112131415161718192021222324
  1. #include "tca9555_driver.h"
  2. #include "bsp_board.h"
  3. esp_io_expander_handle_t io_expander = NULL;
  4. void tca9555_driver_init(void)
  5. {
  6. i2c_master_bus_handle_t i2c_bus = esp_ret_i2c_handle();
  7. esp_err_t ret = esp_io_expander_new_i2c_tca95xx_16bit(i2c_bus, ESP_IO_EXPANDER_I2C_TCA9555_ADDRESS_000, &io_expander);
  8. /* Test output level function */
  9. ret = esp_io_expander_set_dir(io_expander, (IO_EXPANDER_PIN_NUM_0 | IO_EXPANDER_PIN_NUM_1 | IO_EXPANDER_PIN_NUM_5 | IO_EXPANDER_PIN_NUM_6 | IO_EXPANDER_PIN_NUM_8), IO_EXPANDER_OUTPUT);
  10. if(ret != ESP_OK){
  11. printf("EXIO Mode setting failure!!\r\n");
  12. }
  13. ret = esp_io_expander_set_dir(io_expander, (IO_EXPANDER_PIN_NUM_2 | IO_EXPANDER_PIN_NUM_9 | IO_EXPANDER_PIN_NUM_10 | IO_EXPANDER_PIN_NUM_11), IO_EXPANDER_INPUT);
  14. if(ret != ESP_OK){
  15. printf("EXIO Mode setting failure!!\r\n");
  16. }
  17. }