logo

ch423命令格式问题

ch423手册上说的系统参数设置 命令,共两个字节,第一字节48H,第二字节xxH;现在我用stm32的硬件I2c去发送这个命令。stm32自带的库函数:

HAL_I2C_Master_Transmit(&I2cHandle, (uint16_t)I2C_ADDRESS, (uint8_t*)aTxBuffer, TXBUFFERSIZE, 10000);

(uint16_t)I2C_ADDRESS是指从机的地址;

(uint8_t*)aTxBuffer是指要发送的数据;

TXBUFFERSIZE是指要发送的数据长度;

那我发送这个系统参数设置命令,上面的三个参数我都应该是多少呢?


我现在的参数设置 是这样的:

I2C_ADDRESS = 0x40;

aTxBuffer指向数组的内容是{0x48H,0xxxH};

TXBUFFERSIZE = 2;

表示要 发送两个字节,第一个字节内容是 0x48H,第二个字节是0xxxH,(x可以是具体的值),这样对吗?


发送的地址就是48H,数据只有一字节XX,长度为1


                           

发送的地址就是48H,数据只有一字节XX,长度为1

                       

我看沁恒提供的例程,里面有将命令进行了变换:

CH423_I2c_WrByte( ( ( unsigned char )( cmd>>7 ) & CH423_I2C_MASK ) | CH423_I2C_ADDR1 );

这个命令进行右移还有与或计算,我这里不需要吗?


可以参考例程,或者应用手册命令数据,本质上是一样的。


只有登录才能回复,可以选择微信和github账号登录