主题中讨论的其他器件:HALCOGEN
您好!
我正在开发"TLE493D-A1B6"库、但无法 运行 I2C 我用示波器进行测量、但 I2C 和 SDA 线路从来都不起作用、始终保持高电平
我在下面附上了我写的代码。
static void i2cInitHal(void)
{
// I2C0 modülünü başlat
i2cInit();
// I2C0 modülünü master modunda ayarla
i2cSetMode(i2cREG1, I2C_MASTER);
// I2C0 modülünün hızını 100kHz olarak ayarla
i2cSetOwnAdd(i2cREG1, I2C_SLAVE_ADDRESS);
i2cSetSlaveAdd(i2cREG1, I2C_SLAVE_ADDRESS);
i2cSetBaudrate(i2cREG1, 100);
}
static void i2cSendData(uint8 *data, uint32 length)
{
// Veriyi I2C0 üzerinden gönder
i2cSetDirection(i2cREG1, I2C_TRANSMITTER);
i2cSetCount(i2cREG1, length);
i2cSetMode(i2cREG1, I2C_MASTER);
i2cSetStop(i2cREG1);
i2cSetStart(i2cREG1);
i2cSend(i2cREG1, length, data);
while (i2cIsBusBusy(i2cREG1) == true)
;
while (i2cIsStopDetected(i2cREG1) == 0)
;
i2cClearSCD(i2cREG1);
}
static void i2cReceiveData(uint8 *data, uint32 length)
{
// Veriyi I2C0 üzerinden al
i2cSetDirection(i2cREG1, I2C_RECEIVER);
i2cSetCount(i2cREG1, length);
i2cSetMode(i2cREG1, I2C_MASTER);
i2cSetStart(i2cREG1);
i2cReceive(i2cREG1, length, data);
while (!i2cIsRxReady(i2cREG1))
;
i2cSetStop(i2cREG1);
while (i2cIsStopDetected(i2cREG1) == 0)
;
i2cClearSCD(i2cREG1);
}
代码被卡在函数"void i2cSend (i2c_>STR &(Uint32) I2C_TX_INT)== 0u"内的"while (i2cBASE->STR &(Uint32)"(i2c_TX_INT)"中
和 halcogen 配置



您能帮助我、我如何在您的系统中