91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

VS Code 中`xiaozhi-esp32` 項(xiàng)目文件夾 修改 I2C 設(shè)備地址為 `0x78`

丙丁先生的自學(xué)旅程 ? 來源:丙丁先生的自學(xué)旅程 ? 作者:丙丁先生的自學(xué)旅 ? 2025-11-28 07:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

修改 0x78 這個(gè)值很簡單,但關(guān)鍵在于 找到它在代碼中的位置0x78 是一個(gè)十六進(jìn)制數(shù),轉(zhuǎn)換成十進(jìn)制是 120。

它可能代表很多含義,比如:一個(gè) I2C 設(shè)備地址、一個(gè) GPIO 引腳號、一個(gè)寄存器地址或數(shù)據(jù),或者是一個(gè)普通的數(shù)值參數(shù)。

請按照以下步驟來操作:

第一步:在項(xiàng)目中搜索 0x78

這是最直接的方法。

  1. 打開項(xiàng)目 :在 VS Code 中打開你的 xiaozhi-esp32 項(xiàng)目文件夾。
  2. 全局搜索
    • 按下 Ctrl + Shift + F (Windows/Linux) 或 Cmd + Shift + F (Mac) 打開全局搜索面板。
    • 在搜索框中輸入 0x78
    • 確保搜索范圍是整個(gè)項(xiàng)目文件夾。

第二步:分析搜索結(jié)果

搜索結(jié)果會(huì)列出所有包含 0x78 的文件和行。你需要根據(jù)上下文來判斷哪個(gè)才是你想要修改的。

常見的幾種情況和修改方法:

情況一:作為 I2C 設(shè)備地址(最常見)

如果你的代碼中出現(xiàn)類似下面的結(jié)構(gòu),那么 0x78 很可能是一個(gè) I2C 傳感器(比如 OLED 屏幕、加速度計(jì)等)的地址。

示例代碼:

#define I2C_MASTER_SDA_IO 21
#define I2C_MASTER_SCL_IO 22
#define I2C_MASTER_FREQ_HZ 400000
#define I2C_MASTER_TX_BUF_DISABLE 0
#define I2C_MASTER_RX_BUF_DISABLE 0

// 在這里找到了 0x78
#define OLED_I2C_ADDRESS 0x78 

static esp_err_t i2c_master_init(void)
{
    int i2c_master_port = I2C_NUM_0;

    i2c_config_t conf = {
        .mode = I2C_MODE_MASTER,
        .sda_io_num = I2C_MASTER_SDA_IO,
        .scl_io_num = I2C_MASTER_SCL_IO,
        .sda_pullup_en = GPIO_PULLUP_ENABLE,
        .scl_pullup_en = GPIO_PULLUP_ENABLE,
        .master.clk_speed = I2C_MASTER_FREQ_HZ,
    };

    i2c_param_config(i2c_master_port, &conf);

    return i2c_driver_install(i2c_master_port, conf.mode, I2C_MASTER_RX_BUF_DISABLE, I2C_MASTER_TX_BUF_DISABLE, 0);
}

// ... 在某個(gè)函數(shù)中使用 ...
i2c_cmd_handle_t cmd = i2c_cmd_link_create();
i2c_master_start(cmd);
// 這里用到了地址
i2c_master_write_byte(cmd, (OLED_I2C_ADDRESS < < 1) | WRITE_BIT, ACK_CHECK_EN); 
// ...

如何修改:
直接修改 #define 宏定義的值即可。例如,如果你想把地址改成 0x7A,就修改成:

// 將地址從 0x78 修改為 0x7A
#define OLED_I2C_ADDRESS 0x7A

這樣,所有使用 OLED_I2C_ADDRESS 的地方都會(huì)自動(dòng)生效。

情況二:作為 GPIO 引腳號

0x78(十進(jìn)制 120)作為 GPIO 引腳號在 ESP32 上比較少見,因?yàn)?ESP32 的 GPIO 編號通常在 0-39 之間。但如果是在某些特定的開發(fā)板或擴(kuò)展板的代碼中定義的別名,也有可能。

示例代碼:

// 假設(shè)這是一個(gè)自定義的引腳編號
#define MY_LED_PIN 0x78 

void app_main(void)
{
    // ...
    gpio_reset_pin(MY_LED_PIN);
    gpio_set_direction(MY_LED_PIN, GPIO_MODE_OUTPUT);
    gpio_set_level(MY_LED_PIN, 1); // 點(diǎn)亮 LED
    // ...
}

如何修改:
同樣,直接修改 #define 宏定義的值。例如,改成 GPIO 2:

#define MY_LED_PIN 2

情況三:作為普通數(shù)值或寄存器數(shù)據(jù)

0x78 也可能是一個(gè)函數(shù)中直接使用的數(shù)值,用于配置某個(gè)寄存器或作為一個(gè)參數(shù)。

示例代碼:

void configure_some_device(void)
{
    // ... 假設(shè) dev 是一個(gè)設(shè)備結(jié)構(gòu)體 ...
    // 向設(shè)備的某個(gè)寄存器寫入 0x78
    dev- >write_register(REG_CONFIG, 0x78); 
}

如何修改:
直接在代碼行中把 0x78 修改成你需要的值,例如 0x80。

// 將配置值從 0x78 修改為 0x80
    dev- >write_register(REG_CONFIG, 0x80);

總結(jié)步驟:

  1. 搜索 :在 VS Code 中用 Ctrl + Shift + F 搜索 0x78。
  2. 定位 :根據(jù)搜索結(jié)果中的代碼上下文,判斷 0x78 的用途。
  3. 修改
    • 如果它在一個(gè) #define 定義中,直接修改這個(gè)定義的值。
    • 如果它是代碼中硬編碼的數(shù)值,直接修改該數(shù)值。
  4. 保存并編譯 :保存修改后的文件,然后重新編譯和燒錄項(xiàng)目(idf.py build flash)。

重要提示:

在修改任何硬件相關(guān)的地址或配置之前,請 務(wù)必查閱你的硬件手冊 ,確認(rèn)正確的地址或參數(shù)值。例如,如果你修改的是 I2C 地址,請確保你的硬件設(shè)備(如 OLED 屏)的實(shí)際地址就是你要修改的值(有些設(shè)備可以通過焊接電阻來改變地址)。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1556

    瀏覽量

    131211
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4967

    瀏覽量

    73948
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    ESP32CAM引腳不夠用,能否用AI8051U擴(kuò)展?

    ,不影響其他總線 ESP32-CAM:GPIO21(SDA), GPIO22(SCL) AI8051U:配置I2C從機(jī),地址可設(shè)為0x08
    發(fā)表于 02-05 08:03

    I2C死鎖的問題

    在實(shí)際使用過程I2C比較容易出現(xiàn)的一個(gè)問題就是死鎖 ,死鎖在I2C主要表現(xiàn)為:I2C死鎖時(shí)表現(xiàn)為SCL
    發(fā)表于 12-04 06:00

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項(xiàng)目添加頭文件

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項(xiàng)目添加頭文件
    的頭像 發(fā)表于 11-28 07:27 ?2292次閱讀

    ESP32-S3 工具鏈+環(huán)境配置的最終步驟清單

    xtensa-esp32s3-elf-gcc (crosstool-NG esp-14.2.0_20241119)),則配置成功。 步驟4:項(xiàng)目編譯與燒錄 在終端中進(jìn)入你的項(xiàng)目目錄:
    發(fā)表于 11-26 07:36

    ESP32S工具鏈

    ESP32-S3對應(yīng)的Xtensa LX7工具鏈。 安裝完成后,運(yùn)行同目錄下的export.bat,加載環(huán)境變量。 重新打開終端,進(jìn)入項(xiàng)目目錄D:\\\\xiaozhi-esp32,執(zhí)行idf.py build即可。
    發(fā)表于 11-26 07:33

    ESP8266和ESP32開發(fā)板常見的2種下載方式

    至240MHz CPU,而ESP8266是單核處理器,主頻支持80MHz至160MHZ。 這些WiFi模塊都帶有GPIO,支持SPI,I2C,UART等各種協(xié)議。這兩款芯片都有STA/AP/STA+AP的工作模式。E...
    的頭像 發(fā)表于 11-10 20:30 ?954次閱讀
    <b class='flag-5'>ESP</b>8266和<b class='flag-5'>ESP32</b>開發(fā)板常見的<b class='flag-5'>2</b>種下載方式

    如何在VS code配置Zephyr集成開發(fā)環(huán)境

    上一篇文章介紹了如何在VS code中使用瑞薩官方插件RA芯片創(chuàng)建項(xiàng)目項(xiàng)目調(diào)試,相信大家對RA在VS
    的頭像 發(fā)表于 11-05 14:46 ?1504次閱讀
    如何在<b class='flag-5'>VS</b> <b class='flag-5'>code</b><b class='flag-5'>中</b>配置Zephyr集成開發(fā)環(huán)境

    使用 LinkBoy 將程序?qū)С?b class='flag-5'>為 C 語言代碼并燒錄至 Arduino ESP32 開發(fā)板

    以下是使用 LinkBoy 將程序?qū)С?b class='flag-5'>為 C 語言代碼并燒錄至 Arduino ESP32 開發(fā)板的詳細(xì)步驟指南: 一、準(zhǔn)備工作 ? 硬件需求: 項(xiàng)目 要求 開發(fā)板 Arduino
    發(fā)表于 10-16 12:41

    【RA4M2-SENSOR】2、I2C驅(qū)動(dòng)OLED屏幕

    E2S 配置I2C 修改從機(jī)地址0X3C以及中斷優(yōu)先級 3 軟件部分 3.1 編寫
    發(fā)表于 09-01 12:46

    深入剖析I2C協(xié)議

    ,I2C也是一種可以多主設(shè)備,多從設(shè)備的總線協(xié)議,通過地址索引,I2C可以使能所需從設(shè)備
    的頭像 發(fā)表于 08-21 15:10 ?3660次閱讀
    深入剖析<b class='flag-5'>I2C</b>協(xié)議

    小智 AI 聊天機(jī)器人 (XiaoZhi AI Chatbot)

    圖片表情支持多語言(中文、英文)已支持的芯片平臺(tái)[](https://github.com/78/xiaozhi-esp32#-%E5%B7%B2%E6%94%AF%E6%8C%81%
    的頭像 發(fā)表于 05-30 15:56 ?1.4w次閱讀
    小智 AI 聊天機(jī)器人 (<b class='flag-5'>XiaoZhi</b> AI Chatbot)

    ESP32P4示例工程中有用的i2c-tools調(diào)試工程

    顯示探測到的設(shè)備I2C地址。 i2cget: 讀取I2C總線上設(shè)備的寄存器值。
    發(fā)表于 05-03 18:25

    零知開源——ESP32語音交互系統(tǒng)(AI小智)開發(fā)教程

    驅(qū)動(dòng)小智AI倉庫源碼https://github.com/78/xiaozhi-esp322)VScode打開項(xiàng)目工程并配置編譯信息 配置Serial flasher conf
    發(fā)表于 03-29 16:30

    使用stm8作為從機(jī)與esp32進(jìn)行i2c通訊,主機(jī)掃描的i2c地址與stm8從機(jī)設(shè)置的i2c地址不一樣,如何解決?

    devices ...I2C device found at address 0x18當(dāng)esp32掃描到這個(gè)i2c地址后stm8會(huì)重啟,當(dāng)
    發(fā)表于 03-12 07:57

    ESP32開發(fā),使用ADF環(huán)境,系統(tǒng)報(bào)錯(cuò)I2C Bus WriteReg Error和I2C Bus ReadReg Error

    錄音,然后由ES8311播放音頻,ES7210和ES8311是經(jīng)過iic進(jìn)行讀寫寄存器配置音頻錄音和播放的。 然后現(xiàn)在的問題是在編譯的過程,日志一直報(bào)I2C Bus WriteReg Error
    發(fā)表于 03-05 13:55