找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 903|回復(fù): 2
收起左側(cè)

關(guān)于oled寫入字節(jié)的問(wèn)題 附單片機(jī)程序

[復(fù)制鏈接]
ID:978416 發(fā)表于 2023-4-24 18:48 | 顯示全部樓層 |閱讀模式
void oled_write_byte(uint8_t dat, uint8_t cmd)
{
    static uint8_t cmd_data[2];
    if(cmd == OLED_CMD)
    {
        cmd_data[0] = 0x00;
    }
    else
    {
        cmd_data[0] = 0x40;
    }
    cmd_data[1] = dat;
    HAL_I2C_Master_Transmit(&hi2c1, OLED_I2C_ADDRESS, cmd_data, 2, 10);
}

問(wèn)一下各位這個(gè)oled寫入字節(jié)的程序里 HAL_I2C_Master_Transmit(&hi2c1, OLED_I2C_ADDRESS, cmd_data, 2, 10);中的cmd_data的值是多少,是cmd_data[1] 的值嗎。

回復(fù)

使用道具 舉報(bào)

ID:1073856 發(fā)表于 2023-4-24 19:57 | 顯示全部樓層
在這個(gè)程序中,cmd_data 是一個(gè)長(zhǎng)度為 2 的靜態(tài) uint8_t 數(shù)組,其中 cmd_data[0] 存儲(chǔ)命令和數(shù)據(jù)的控制位,cmd_data[1] 存儲(chǔ)具體的數(shù)據(jù)。在程序中,cmd_data[0] 的值根據(jù) cmd 參數(shù)的值確定,當(dāng) cmd 參數(shù)為 OLED_CMD 時(shí),cmd_data[0] 的值為 0x00,表示發(fā)送的是命令;當(dāng) cmd 參數(shù)為其他值時(shí),cmd_data[0] 的值為 0x40,表示發(fā)送的是數(shù)據(jù)。

因此,在 HAL_I2C_Master_Transmit 函數(shù)的參數(shù)中,cmd_data 參數(shù)是一個(gè)指向 cmd_data[0] 的指針,長(zhǎng)度為 2,表示需要發(fā)送 2 個(gè)字節(jié)的數(shù)據(jù),其中第一個(gè)字節(jié)是控制位,第二個(gè)字節(jié)是具體的數(shù)據(jù)。所以,cmd_data 數(shù)組中的值應(yīng)該是 cmd_data[0] 和 cmd_data[1]。
回復(fù)

使用道具 舉報(bào)

ID:43720 發(fā)表于 2023-4-24 22:19 | 顯示全部樓層
數(shù)組cmd_data的首地址,也就是cmd_data[0]的數(shù)據(jù),后面那個(gè)2應(yīng)該是數(shù)組的長(zhǎng)度,就是cmd_data[0]和cmd_data[1]的數(shù)據(jù)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表