ESP_ERROR_CHECK(i2c_param_config(I2C_MASTER_PORT, &conf)); ESP_ERROR_CHECK(i2c_driver_install(I2C_MASTER_PORT, conf.mode, 0, 0, 0)); //TODO, problem with this ESP_ERROR_CHECK(i2c_driver_delete(I2C_MASTER_PORT)); //ESP_ERROR_CHECK(i2c_driver_install(I2C_MASTER_PORT, conf.mode, ...
(2)安装i2c驱动:设置发送、接收缓冲,指定中断等; 这个代码基本是固定的,当做主机的时候都可以使用以下代码来初始化 代码语言:javascript 代码运行次数:0 staticesp_err_ti2c_master_init(void){int i2c_master_port=I2C_MASTER_NUM;i2c_config_t conf;conf.mode=I2C_MODE_MASTER;conf.sda_io_num=I2C_MASTER_S...
#include"driver/i2c.h"#include<unistd.h>#include"oledfont.h" I2C结构体初始化: voidi2c_config(){//配置驱动程序i2c_config_t i2c_Structure;i2c_Structure.mode=I2C_MODE_MASTER;i2c_Structure.sda_io_num=21;//sda引脚号i2c_Structure.scl_io_num=22;//scl引脚号i2c_Structure.sda_pullup_en=GPIO_...
i2c_cmd_handle_tcmd = i2c_cmd_link_create();/* 创建一个句柄,分配空间 */ i2c_master_start(cmd);/* 发送起始信号 */ i2c_master_write_byte(cmd,0xEE, I2C_MASTER_ACK);/* 发送地址 (是否应答) */ i2c_master_write_byte(cmd, WriteAddr, I2C_MASTER_ACK);/* 发送寄存器地址 (是否应答) */...
esp_err_terr = i2c_driver_install(I2c_NUM, i2c_config.mode,0,0,0); returnerr; } I2C 的读取程序 首先看看怎么读取一个字节数据 staticesp_err_ti2c_read8(uint8_tdev_addr,uint8_treg_addr,uint8_t* read_data) { esp_err_terr =0; ...
🛠️ ESP32的I2C编程API: i2c_param_config:配置I2C引脚。 i2c_driver_install:安装I2C驱动。 i2c_cmd_link_create:创建一个I2C命令链表。 i2c_master_start:添加起始信号。 i2c_master_write_byte:写入一个字节。 i2c_master_read_byte:读取一个字节。
i2c_driver_install(I2C_MASTER_NUM, conf.mode, I2C_MASTER_RX_BUF_DISABLE, I2C_MASTER_TX_BUF_DISABLE, 0); } void tm1650_write_byte(uint8_t reg, uint8_t data) { i2c_cmd_handle_t cmd = i2c_cmd_link_create(); i2c_master_start(cmd); ...
i2c_driver_install()注册I2C (1)注册I2C,因为我们这里的ESP32是用于当主机使用,所以最后三个参数都传入0。第二个参数,mode传入I2C_MODE_MASTER。 /** * @brief 注册I2C * * @param i2c_num 配置的I2C端口 * -mode 设置主机模式还是从机模式
void i2c_init() { i2c_param_config(I2C_MASTER_NUM, &conf); i2c_driver_install(I2C_MASTER_NUM, conf.mode, I2C_MASTER_RX_BUF_DISABLE, I2C_MASTER_TX_BUF_DISABLE, 0); } void enter_deep_sleep() { esp_sleep_enable_timer_wakeup(1000000); // Wake up after 1 second ...
i2c_driver_install(I2C_NUM_0,I2C_MODE_MASTER,0,0,0);//初始化配置以外的所有相关参数,将配置写入寄存器 初始化完成之后,就开始使用esp-idf提供的函数进行i2c的读写操作了。 根据官方例程讲解esp-idf 读写流程 ,下面的函数是我从官方例成中提取出的发送函数。