Advertisement

实时操作系统开发中的基于硬件的I2C总线应用

阅读量:

前言

在使用TI相关芯片时,其I2C通信协议若处理不当,极易引发问题。

发送读取API

slaveAddress用于标识设备的地址,例如HTU21温湿度传感器对应的地址为0x80
writeBuf表示发送数据所使用的缓存地址指针
writeCount代表发送数据的长度,若设置为0则不执行发送操作
readBuf为读取数据时所依赖的缓存地址指针
readCount用于定义需要读取的数据长度,必须明确指定该数值以进行读取操作,若设置为0则不执行读取。当发送与读取的数据长度均不为零时,系统将优先执行发送操作,随后再进行读取

复制代码
    I2C_Transaction i2cTransaction;
    uint8_t dataBuffer[20];
    dataBuffer[0] = CMD;
    memcpy((char *)&dataBuffer[1], (char *)writeData, dataLen);
    i2cTransaction.writeBuf   = dataBuffer;
    i2cTransaction.writeCount = dataLen+1;
    i2cTransaction.readBuf    = NULL;
    i2cTr

全部评论 (0)

还没有任何评论哟~