gpt4 book ai didi

c - 读取字而不是字节

转载 作者:行者123 更新时间:2023-11-30 16:43:12 24 4
gpt4 key购买 nike

我正在使用 I2C 通信,我需要读取单词而不是字节,但我被卡住了。要读取字节,我这样做:

void I2CReadBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *value)
{
uint8_t i=0;
I2C_MasterSendStart(devAddr, I2C_WRITE_XFER_MODE);
I2C_MasterWriteByte(regAddr);
I2C_MasterSendRestart(devAddr, I2C_READ_XFER_MODE);
while (i++ < (length-1)) {
*value++ = I2C_MasterReadByte(I2C_ACK_DATA);
}
*value = I2C_MasterReadByte(I2C_NAK_DATA);
I2C_MasterSendStop();
}

如果我想阅读Words怎么办?我必须使用 int16_t *value 但之后我就坚持了

while (i++ < (length-1)) {
*value++ = I2C_MasterReadByte(I2C_ACK_DATA);
}
*value = I2C_MasterReadByte(I2C_NAK_DATA);

谢谢

最佳答案

大尾数

uint16_t ReadWord(void)
{
uint16_t result = 0;
uint8_t b;
b = I2C_MasterReadByte(I2C_ACK_DATA);
result = b + I2C_MasterReadByte(I2C_ACK_DATA) << 8;
return result;
}

它不会检查任何错误,因为我不知道你的错误是否如此

关于c - 读取字而不是字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45447423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com