{"id":2539,"date":"2024-08-22T10:09:06","date_gmt":"2024-08-22T02:09:06","guid":{"rendered":"https:\/\/saludpcb.com\/zh\/?p=2539"},"modified":"2024-12-03T09:59:23","modified_gmt":"2024-12-03T01:59:23","slug":"i2c-scanner-using-esp32-idf","status":"publish","type":"post","link":"https:\/\/saludpcb.com\/zh\/i2c-scanner-using-esp32-idf\/","title":{"rendered":"\u4f7f\u7528 ESP32 IDF \u5be6\u73fe I2C \u6383\u63cf"},"content":{"rendered":"\n<hr class=\"wp-block-separator alignwide has-text-color has-palette-color-1-color has-alpha-channel-opacity has-palette-color-1-background-color has-background is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>\u5167\u5bb9<\/h2><nav><ul><li class=\"\"><a href=\"#\u7c21\u4ecb\">\u7c21\u4ecb<\/a><\/li><li class=\"\"><a href=\"#\u5de5\u4f5c\u539f\u7406\">\u5de5\u4f5c\u539f\u7406<\/a><\/li><li class=\"\"><a href=\"#\u5b89\u88dd-vs-code-\u548c-esp-idf-vs-code-\u64f4\u5c55\">\u5b89\u88dd VSCode \u548c ESP-IDF VSCode \u64f4\u5c55<\/a><\/li><li class=\"\"><a href=\"#\u65b0\u5efa-esp-32-\u5c08\u6848\">\u65b0\u5efa ESP32 \u5c08\u6848<\/a><\/li><li class=\"\"><a href=\"#\u4f7f\u7528-esp-32-idf-\u5be6\u4f5c\">\u4f7f\u7528 ESP32 IDF \u5be6\u4f5c<\/a><\/li><li class=\"\"><a href=\"#\u7a0b\u5f0f\u8aaa\u660e\">\u7a0b\u5f0f\u8aaa\u660e<\/a><\/li><li class=\"\"><a href=\"#\u7de8\u8b6f\u548c\u71d2\u9304\">\u7de8\u8b6f\u548c\u71d2\u9304<\/a><\/li><li class=\"\"><a href=\"#\u67e5\u770b\u7d50\u679c\">\u67e5\u770b\u7d50\u679c<\/a><\/li><li class=\"\"><a href=\"#i-2-c-\u6383\u63cf\u5668\u7a0b\u5f0f\u8aaa\u660e\">I2C \u6383\u63cf\u5668\u7a0b\u5f0f\u8aaa\u660e<\/a><\/li><li class=\"\"><a href=\"#\u554f\u984c\">\u554f\u984c<\/a><\/li><li class=\"\"><a href=\"#\u7d50\u8ad6\">\u7d50\u8ad6<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u7c21\u4ecb\">\u7c21\u4ecb<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">I2C\uff08Inter-Integrated Circuit) \u662f\u4e00\u7a2e\u5e38\u898b\u7684\u4e32\u884c\u901a\u4fe1\u5354\u8b70\uff0c\u7528\u65bc\u9023\u63a5\u5fae\u63a7\u5236\u5668\u548c\u5404\u7a2e\u5916\u8a2d\u3002\u5728 I2C \u901a\u8a0a\u4e2d\uff0c\u6709\u4e00\u500b\u4e3b\u8a2d\u5099\u548c\u4e00\u500b\u6216\u591a\u500b\u5f9e\u8a2d\u5099\u3002\u6bcf\u500b\u5f9e\u8a2d\u5099\u90fd\u6709\u4e00\u500b\u552f\u4e00\u7684 7 \u4f4d\u6216 10 \u4f4d\u5730\u5740\uff0c\u4e3b\u8a2d\u5099\u901a\u904e\u767c\u9001\u9019\u500b\u5730\u5740\u4f86\u9078\u64c7\u8981\u901a\u4fe1\u7684\u5f9e\u8a2d\u5099\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u5de5\u4f5c\u539f\u7406\">\u5de5\u4f5c\u539f\u7406<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">I2C \u6383\u63cf\u5668\u7684\u5de5\u4f5c\u539f\u7406\u662f\u901a\u904e\u5617\u8a66\u8207\u6240\u6709\u53ef\u80fd\u7684 I2C \u5730\u5740\u9032\u884c\u901a\u4fe1\uff0c\u4f86\u8b58\u5225 BUS \u4e0a\u5b58\u5728\u7684\u5f9e\u8a2d\u5099\u3002\u5177\u9ad4\u800c\u8a00\uff0c\u4e3b\u8a2d\u5099\u6703\u5617\u8a66\u5c0d\u6bcf\u500b\u53ef\u80fd\u7684\u5730\u5740\u767c\u9001\u300c\u958b\u59cb\u689d\u4ef6\u300d\u548c\u300c\u505c\u6b62\u689d\u4ef6\u300d\uff0c\u4e26\u6aa2\u67e5\u5f9e\u8a2d\u5099\u662f\u5426\u61c9\u7b54\u3002\u5982\u679c\u5f9e\u8a2d\u5099\u61c9\u7b54\uff0c\u5247\u8868\u793a\u8a72\u5730\u5740\u4e0a\u5b58\u5728\u4e00\u500b\u8a2d\u5099\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u5b89\u88dd-vs-code-\u548c-esp-idf-vs-code-\u64f4\u5c55\">\u5b89\u88dd VSCode \u548c ESP-IDF VSCode \u64f4\u5c55<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">\u78ba\u4fdd\u4f60\u5df2\u7d93\u5b89\u88dd\u548c\u914d\u7f6e\u597d\u4e86 ESP-IDF \u958b\u767c\u74b0\u5883\u3002\u60a8\u4e5f\u53ef\u4ee5\u53c3\u8003 <a href=\"https:\/\/saludpcb.com\/zh\/esp32-tutorial-esp-idf-with-vscode\/\">ESP32 \u5165\u9580\u5230\u7cbe\u901a \u2013 \u5728 VSCode \u5b89\u88dd ESP-IDF \u63d2\u4ef6<\/a> \u9019\u7bc7\u6587\u7ae0\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u65b0\u5efa-esp-32-\u5c08\u6848\">\u65b0\u5efa ESP32 \u5c08\u6848<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">\u5229\u7528\u5728 VSCode \u7684 IDF \u63d2\u4ef6\u4f86\u65b0\u5efa\u4e00\u500b ESP32 \u5c08\u6848\u53ef\u53c3\u8003 <a href=\"https:\/\/saludpcb.com\/zh\/esp32-tutorial-how-to-create-an-esp32-project-with-vscode\/\">ESP32 \u5165\u9580\u5230\u7cbe\u901a \u2013 \u5982\u4f55\u7528 VSCode \u5275\u5efa ESP32 \u5c08\u6848<\/a>\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u4f7f\u7528-esp-32-idf-\u5be6\u4f5c\">\u4f7f\u7528 ESP32 IDF \u5be6\u4f5c<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">\u4ee5\u4e0b\u662f\u4f7f\u7528 <a href=\"https:\/\/docs.espressif.com\/projects\/esp-idf\/en\/latest\/esp32\/api-reference\/peripherals\/i2c.html\" target=\"_blank\" rel=\"noopener\">ESP32 IDF I2C<\/a> \u7de8\u5beb\u6383\u63cf\u5668\u7a0b\u5f0f\uff0c\u5982\u4e0b\u6240\u793a...<\/pre>\n\n\n\n<pre class=\"wp-block-code has-black-color has-text-color has-link-color wp-elements-df7dab8d2725374e423bab2deb9ea19b\"><code lang=\"c\" class=\"language-c\">#include &lt;stdio.h&gt;\n#include \"driver\/i2c.h\"\n#include \"esp_log.h\"\n\n#define I2C_MASTER_SCL_IO 22          \/\/ Set SCL pin\n#define I2C_MASTER_SDA_IO 21          \/\/ Set SDA pin\n#define I2C_MASTER_NUM I2C_NUM_0      \/\/ Use I2C port 0\n#define I2C_MASTER_FREQ_HZ 100000     \/\/ Set I2C frequency to 100kHz\n#define I2C_MASTER_TX_BUF_DISABLE 0   \/\/ Disable TX buffer\n#define I2C_MASTER_RX_BUF_DISABLE 0   \/\/ Disable RX buffer\n\nstatic const char *TAG = \"i2c_scanner\";\n\nvoid i2c_master_init() {\n    \/\/ Configure I2C master settings\n    i2c_config_t conf;\n    conf.mode = I2C_MODE_MASTER;\n    conf.sda_io_num = I2C_MASTER_SDA_IO;\n    conf.sda_pullup_en = GPIO_PULLUP_ENABLE;\n    conf.scl_io_num = I2C_MASTER_SCL_IO;\n    conf.scl_pullup_en = GPIO_PULLUP_ENABLE;\n    conf.master.clk_speed = I2C_MASTER_FREQ_HZ;\n    conf.clk_flags = 0;\n    \/\/ Apply configuration to the I2C driver\n    i2c_param_config(I2C_MASTER_NUM, &amp;conf);\n    \/\/ Install I2C driver\n    i2c_driver_install(I2C_MASTER_NUM, conf.mode, I2C_MASTER_RX_BUF_DISABLE, I2C_MASTER_TX_BUF_DISABLE, 0);\n}\n\nvoid i2c_scanner() {\n    printf(\"Scanning I2C bus...\\n\");\n    \/\/ Iterate over all possible I2C addresses\n    for (int addr = 1; addr &lt; 127; addr++) {\n        \/\/ Create I2C command link\n        i2c_cmd_handle_t cmd = i2c_cmd_link_create();\n        i2c_master_start(cmd);\n        \/\/ Send I2C address with write bit\n        i2c_master_write_byte(cmd, (addr &lt;&lt; 1) | I2C_MASTER_WRITE, true);\n        i2c_master_stop(cmd);\n\n        \/\/ Execute I2C command and check for response\n        esp_err_t ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, pdMS_TO_TICKS(1000));\n        i2c_cmd_link_delete(cmd);\n\n        \/\/ If device responds, print the address\n        if (ret == ESP_OK) {\n            printf(\"Found device at address 0x%02x\\n\", addr);\n        }\n    }\n    printf(\"I2C scan complete.\\n\");\n}\n\nvoid app_main() {\n    \/\/ Initialize I2C master\n    i2c_master_init();\n    \/\/ Start scanning for I2C devices\n    i2c_scanner();\n}<\/code><\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u7a0b\u5f0f\u8aaa\u660e\">\u7a0b\u5f0f\u8aaa\u660e<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">1. i2c_master_init\uff1a<br>\u9019\u6bb5\u4ee3\u78bc\u914d\u7f6e\u4e86 I2C \u4e3b\u8a2d\u5099\u7684 SDA \u548c SCL \u5f15\u8173\u3001I2C \u6642\u9418\u983b\u7387\uff08100kHz\uff09\uff0c\u4e26\u5b89\u88dd\u4e86 I2C \u9a45\u52d5\u7a0b\u5f0f\u3002<br><br>i2c_param_config \u51fd\u6578\u7528\u65bc\u8a2d\u7f6e I2C \u53c3\u6578\u3002<br><br>i2c_driver_install \u51fd\u6578\u7528\u65bc\u5b89\u88dd I2C \u9a45\u52d5\u7a0b\u5f0f\u3002<br><br>2. i2c_scanner\uff1a<br>\u9019\u6bb5\u4ee3\u78bc\u8ff4\u5708\u904d\u6b77\u6240\u6709\u53ef\u80fd\u7684 I2C \u5730\u5740\uff081 \u5230 127\uff09\u3002\u5c0d\u65bc\u6bcf\u500b\u5730\u5740\uff0c\u4e3b\u8a2d\u5099\u6703\u5617\u8a66\u9032\u884c\u4e00\u6b21 I2C \u901a\u4fe1\u3002\u5982\u679c\u901a\u4fe1\u6210\u529f\uff08\u5373\u63a5\u6536\u5230\u5f9e\u8a2d\u5099\u7684\u61c9\u7b54\uff09\uff0c\u5247\u8868\u793a\u8a72\u5730\u5740\u4e0a\u5b58\u5728\u4e00\u500b\u8a2d\u5099\u3002<br><br>\u4f7f\u7528 i2c_cmd_link_create \u5275\u5efa I2C \u547d\u4ee4\u93c8\uff0c\u4e26\u901a\u904e i2c_master_cmd_begin \u767c\u9001\u547d\u4ee4\u3002<br><br>\u5982\u679c\u901a\u4fe1\u6210\u529f (ESP_OK)\uff0c\u5247\u6703\u6253\u5370\u51fa\u767c\u73fe\u7684\u8a2d\u5099\u5730\u5740\u3002<br><br>3. \u4e3b\u7a0b\u5e8f (app_main)\uff1a<br>\u521d\u59cb\u5316 I2C \u4e26\u904b\u884c\u6383\u63cf\u5668\u51fd\u6578\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u7de8\u8b6f\u548c\u71d2\u9304\">\u7de8\u8b6f\u548c\u71d2\u9304<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">\u5728 VSCode \u4e2d\u627e\u5230 \"ESP32-IDF : Build, Flash and Monitor\" ICON \u57f7\u884c\u548c\u71d2\u9304\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u67e5\u770b\u7d50\u679c\">\u67e5\u770b\u7d50\u679c<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">\u82e5\u9023\u6709\u9023\u63a5 I2C \u88dd\u7f6e\u6c92\u6709\u4efb\u4f55\u554f\u984c\uff0c\u6211\u5011\u53ef\u4ee5\u67e5\u770b\u5728\u7d42\u7aef\u6a5f\u7684\u5217\u5370\u7d50\u679c\uff0c\u6703\u6709\u5982\u4e0b\u7d50\u679c...<\/pre>\n\n\n\n<pre class=\"wp-block-code has-black-color has-text-color has-link-color wp-elements-3b0a1dda44c452b201147c652bbd06f3\"><code lang=\"c\" class=\"language-c\">Scanning I2C bus...\nFound device at address 0x3C\nFound device at address 0x68\nI2C scan complete.<\/code><\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2-c-\u6383\u63cf\u5668\u7a0b\u5f0f\u8aaa\u660e\">I2C \u6383\u63cf\u5668\u7a0b\u5f0f\u8aaa\u660e<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">\u7576\u4f60\u4f7f\u7528 ESP32 \u904b\u884c\u9019\u500b I2C \u6383\u63cf\u5668\u7a0b\u5f0f\u6642\uff0c\u6703\u6709\u5169\u7a2e\u4e3b\u8981\u7684\u7d50\u679c\uff0c\u53d6\u6c7a\u65bc\u662f\u5426\u6709 I2C \u8a2d\u5099\u9023\u63a5\u5230 BUS \u4e0a\u3002<br><br>1. \u5982\u679c\u6709 I2C \u8a2d\u5099\u9023\u63a5\u5230 BUS \u4e0a<br>\u7576 I2C BUS \u4e0a\u9023\u63a5\u4e86\u81f3\u5c11\u4e00\u500b\u8a2d\u5099\u6642\uff0c\u6383\u63cf\u5668\u6703\u5617\u8a66\u8207\u6bcf\u500b\u5730\u5740\u9032\u884c\u901a\u4fe1\u3002\u6bcf\u7576\u5b83\u6210\u529f\u8207\u67d0\u500b\u5730\u5740\u901a\u4fe1\u4e26\u6536\u5230\u8a2d\u5099\u7684\u61c9\u7b54\u6642\uff0c\u5b83\u5c31\u6703\u8f38\u51fa\u8a72\u8a2d\u5099\u7684 I2C \u5730\u5740\u3002\u8f38\u51fa\u7d50\u679c\u53ef\u80fd\u5982\u4e0b\u6240\u793a\uff1a<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c\">Scanning I2C bus...\nFound device at address 0x3C\nFound device at address 0x68\nI2C scan complete.<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Scanning I2C bus...: \u8868\u793a I2C \u6383\u63cf\u5df2\u7d93\u958b\u59cb\u3002<br>Found device at address 0x3C \u548c Found device at address 0x68: \u9019\u4e9b\u884c\u8868\u793a\u5728\u5730\u5740 0x3C \u548c 0x68 \u5206\u5225\u6aa2\u6e2c\u5230\u4e86 I2C \u8a2d\u5099\u3002\u6bcf\u500b\u5730\u5740\u5c0d\u61c9\u4e00\u500b\u9023\u63a5\u5230 BUS \u4e0a\u7684 I2C \u5f9e\u8a2d\u5099\u3002<br>I2C scan complete.: \u8868\u793a\u6383\u63cf\u5df2\u7d93\u5b8c\u6210\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">2. \u5982\u679c\u6c92\u6709 I2C \u8a2d\u5099\u9023\u63a5\u5230 BUS \u4e0a<br>\u7576 I2C BUS \u4e0a\u6c92\u6709\u9023\u63a5\u4efb\u4f55\u8a2d\u5099\u6642\uff0c\u6383\u63cf\u5668\u4ecd\u7136\u6703\u5617\u8a66\u8207\u6bcf\u500b\u53ef\u80fd\u7684\u5730\u5740\u9032\u884c\u901a\u4fe1\u3002\u4f46\u662f\uff0c\u7531\u65bc\u6c92\u6709\u8a2d\u5099\u61c9\u7b54\uff0c\u6383\u63cf\u5668\u4e0d\u6703\u6aa2\u6e2c\u5230\u4efb\u4f55\u8a2d\u5099\u5730\u5740\u3002\u8f38\u51fa\u7d50\u679c\u6703\u5982\u4e0b\u6240\u793a\uff1a<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c\">Scanning I2C bus...\nI2C scan complete.<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Scanning I2C bus...: \u8868\u793a I2C \u6383\u63cf\u5df2\u7d93\u958b\u59cb\u3002<br>I2C scan complete.: \u8868\u793a\u6383\u63cf\u5df2\u7d93\u5b8c\u6210\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u554f\u984c\">\u554f\u984c<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\">\u5728\u9019\u5169\u884c\u4e4b\u9593\u6c92\u6709\u5176\u4ed6\u8f38\u51fa\uff0c\u9019\u8868\u793a\u5728\u6383\u63cf\u7bc4\u570d\u5167\u7684\u6240\u6709\u5730\u5740\u90fd\u6c92\u6709\u6aa2\u6e2c\u5230\u8a2d\u5099\u3002\u9019\u7a2e\u60c5\u6cc1\u53ef\u80fd\u767c\u751f\u5728\u4ee5\u4e0b\u5e7e\u7a2e\u60c5\u6cc1\u4e0b\uff1a<br>1. \u672a\u9023\u63a5\u4efb\u4f55\u8a2d\u5099: I2C BUS \u4e0a\u6c92\u6709\u4efb\u4f55\u8a2d\u5099\u7269\u7406\u9023\u63a5\u5230 ESP32\u3002<br><br>2. \u8a2d\u5099\u7684\u63a5\u7dda\u554f\u984c: I2C \u8a2d\u5099\u7684 SDA \u6216 SCL \u7dda\u672a\u6b63\u78ba\u9023\u63a5\uff0c\u6216\u63a5\u7dda\u9b06\u52d5\u3002<br><br>3. \u8a2d\u5099\u7684\u96fb\u6e90\u554f\u984c: I2C \u8a2d\u5099\u672a\u901a\u96fb\u6216\u96fb\u6e90\u4e0d\u8db3\uff0c\u5c0e\u81f4\u7121\u6cd5\u61c9\u7b54 I2C \u901a\u4fe1\u3002<br><br>4. \u5730\u5740\u885d\u7a81\u6216\u914d\u7f6e\u932f\u8aa4: \u8a2d\u5099\u5730\u5740\u8a2d\u7f6e\u932f\u8aa4\u6216\u5b58\u5728\u5730\u5740\u885d\u7a81\uff0c\u5c0e\u81f4\u6383\u63cf\u5668\u7121\u6cd5\u8207\u8a2d\u5099\u901a\u4fe1\u3002<br><br>5. \u8a2d\u5099\u4e0d\u652f\u6301\u9ad8\u983b\u7387: \u4e0d\u540c\u7684 I2C \u8a2d\u5099\u6709\u4e0d\u540c\u7684\u6642\u9418\u901f\u5ea6\u4e0a\u9650\u3002\u4e00\u4e9b\u8a2d\u5099\u53ef\u80fd\u53ea\u652f\u6301\u6a19\u6e96\u6a21\u5f0f\uff08100 kHz\uff09\u6216\u5feb\u901f\u6a21\u5f0f\uff08400 kHz\uff09\u3002\u5982\u679c\u4e3b\u8a2d\u5099\u7684 I2C \u6642\u9418\u983b\u7387\u8a2d\u7f6e\u5f97\u8d85\u904e\u4e86\u5f9e\u8a2d\u5099\u652f\u6301\u7684\u7bc4\u570d\uff0c\u4f8b\u5982\u8a2d\u7f6e\u70ba 1 MHz \u6216\u66f4\u9ad8\uff0c\u5f9e\u8a2d\u5099\u53ef\u80fd\u7121\u6cd5\u6b63\u78ba\u97ff\u61c9\u901a\u4fe1\uff0c\u5c0e\u81f4\u6383\u63cf\u5668\u7121\u6cd5\u6aa2\u6e2c\u5230\u8a72\u8a2d\u5099\u3002<br><br>6. Pull-up Resistors \u4e0d\u9069\u5408: \u5728 I2C \u901a\u4fe1\u4e2d\uff0cSDA \u548c SCL \u7dda\u901a\u5e38\u9700\u8981\u62c9\u9ad8\u96fb\u963b\u4f86\u78ba\u4fdd\u4fe1\u865f\u7dda\u80fd\u5920\u6b63\u78ba\u5730\u5f9e\u4f4e\u96fb\u5e73\u56de\u5230\u9ad8\u96fb\u5e73\u3002\u7576\u983b\u7387\u589e\u52a0\u6642\uff0c\u5982\u679c\u62c9\u9ad8\u96fb\u963b\u7684\u503c\u904e\u5927\uff0c\u7dda\u8def\u53ef\u80fd\u7121\u6cd5\u5728\u6642\u9418\u5468\u671f\u5167\u6b63\u78ba\u62c9\u9ad8\uff0c\u5c0e\u81f4\u4fe1\u865f\u51fa\u73fe\u554f\u984c\uff0c\u9032\u800c\u5f71\u97ff\u901a\u4fe1\u7a69\u5b9a\u6027\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u7d50\u8ad6\">\u7d50\u8ad6<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:0px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center has-medium-font-size is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-preformatted\"><a href=\"https:\/\/docs.espressif.com\/projects\/esp-idf\/en\/latest\/esp32\/migration-guides\/release-5.x\/5.0\/peripherals.html?highlight=i2c\" target=\"_blank\" rel=\"noopener\">I2C<\/a> \u6383\u63cf\u5668\u5728\u904e\u9ad8\u983b\u7387\u4e0b\u53ef\u80fd\u6703\u6383\u63cf\u4e0d\u5230\u8a2d\u5099\uff0c\u9019\u4e3b\u8981\u662f\u7531\u65bc\u8a2d\u5099\u652f\u6301\u7684\u983b\u7387\u4e0a\u9650\u3001\u4fe1\u865f\u5b8c\u6574\u6027\u4ee5\u53ca\u62c9\u9ad8\u96fb\u963b\u7684\u8a2d\u7f6e\u7b49\u554f\u984c\u5c0e\u81f4\u7684\u3002\u901a\u904e\u964d\u4f4e I2C \u6642\u9418\u983b\u7387\u4e26\u6aa2\u67e5\u786c\u4ef6\u8a2d\u7f6e\uff0c\u53ef\u4ee5\u63d0\u9ad8\u6383\u63cf\u6210\u529f\u7387\uff0c\u78ba\u4fdd\u6240\u6709\u9023\u63a5\u7684 I2C \u8a2d\u5099\u90fd\u80fd\u88ab\u6aa2\u6e2c\u5230\u3002<\/pre>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-text-color has-palette-color-1-color has-alpha-channel-opacity has-palette-color-1-background-color has-background is-style-wide\"\/>\n","protected":false},"excerpt":{"rendered":"<p>\u7c21\u4ecb I2C\uff08Inter-Integrated Circuit) \u662f\u4e00\u7a2e\u5e38\u898b\u7684\u4e32\u884c\u901a\u4fe1\u5354\u8b70\uff0c\u7528\u65bc\u9023\u63a5\u5fae\u63a7\u5236\u5668\u548c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2551,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,53,83],"tags":[61,27,63,20,60,10,64,11,62],"class_list":["post-2539","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-module","category-esp32","category-featured","tag-bluetooth","tag-c","tag-firmware","tag-hardware","tag-iot","tag-mcu","tag-module","tag-tutorial","tag-wifi"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/posts\/2539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/comments?post=2539"}],"version-history":[{"count":16,"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/posts\/2539\/revisions"}],"predecessor-version":[{"id":2576,"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/posts\/2539\/revisions\/2576"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/media\/2551"}],"wp:attachment":[{"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/media?parent=2539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/categories?post=2539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/saludpcb.com\/zh\/wp-json\/wp\/v2\/tags?post=2539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}