请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMP1075主题: TMP102 中讨论的其他器件
您好、
我有一个 TMP1075 温度传感器通过 I²C μ A 连接到 ESP32-S3 DevKitC-1。 TMP1075 上的 A0–A2 引脚接地、因此配置的 7 位地址为 0x48 ,但设备没有确认—我总是看到 NACK 。
以下是总线和器件配置(请参阅随附的逻辑分析仪屏幕截图和代码片段):
tmp102_config_t conf ={
addr = 0x48、 /**<设置 TMP102 传感器 (0x48) 的 I2C 地址*/
.PIN_SCL = GPIO_NUM_1、 /**<将 I2C 时钟 (SCL) 的 GPIO 引脚设置为 GPIO 14 */
.pin_sda = GPIO_NUM_2、 /**<将 I2C 数据 (SDA) 的 GPIO 引脚设置为 GPIO 13 */
};
I2C_MASTER_BUS_CONFIG_t i2c_mst_conf ={
.clk_source = I2C_CLK_SRC_DEFAULT、 /**<使用 I2C 的默认时钟源*/
i2c_port = I2C_MASTER_NUM、 /**<使用定义的 I2C 主器件端口号*/
.scl_io_num = pin_SCL、 /**<从配置中分配 SCL 引脚*/
.sda_io_num = pinsda、 /**<从配置中分配 SDA 引脚*/
.glitch_ignor_cnt = I2C_glitch_ignore_CNT、 /**<设置干扰滤波器计数以实现降噪*/
.flags.enable_internal_pullup = I2C_PULLUP_ENABLE、/**<启用 I2C 线路上的内部上拉*/
};
I2C_DEVICE_CONFIG_t DEV_conf ={
.dev_addr_length = I2C_ADDR_BIT_7、 /**<将器件地址长度设置为 7 位*/
/device_address = addr、 /**<分配 TMP102 器件地址*/
.scl_speed_Hz = I2C_MASTER_FREQ_Hz、/**<设置 I2C 时钟频率*/
};
/** I2C 主器件配置*/
#define I2C_MASTER_NUM I2C_NUM_0/**< I2C 主器件端口号*/
#define I2C_MASTER_FREQ_Hz 1000000 /**< I2C 主时钟频率、单位为 Hz */
#define I2C_TIMEOUT_MS 10000/**< I2C 操作超时(以毫秒为单位)*/
#define I2C_PULLUP_ENABLE 1/**<为 SDA 和 SCL 线路启用内部上拉*/
#define I2C_glitch_ignore_CNT 7/**< 用于噪声抑制的干扰滤波器计数*/
我还连接了外部上拉电阻器、
