arrays - C STM32中指向数据缓冲区的指针
问题描述
我对C相当陌生,并且有以下问题。
我想通过 STM 32 上的 I2C 传输数据,命令是
HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout);
EDIT1:在每个数组元素上都有 8 位计数
这意味着数据是 8 位或 1 字节。但在代码中,我发现使用上述命令发送了一个 8 字节数组。任何人都可以帮助并解释如何以 8 位大小发送字节数据。
TxFrame[0]=0_AnalogCntIn8[HI];
TxFrame[1]=0_AnalogCntIn8[LO];
TxFrame[2]=1_AnalogCntIn8[HI];
TxFrame[3]=1_AnalogCntIn8[LO];
TxFrame[4]=2_AnalogCntIn8[HI];
TxFrame[5]=2_AnalogCntIn8[LO];
TxFrame[6]=3_AnalogCntIn8[HI];
TxFrame[7]=3_AnalogCntIn8[LO];
HAL_I2C_Master_Transmit(&hi2c2,DAC_ID,TxFrame,8,100);
解决方案
我得到了答案。它是 I2C 的 HAL 处理程序,它根据我们在 I2C 命令中输入的数组和大小不断增加。
hi2c->pBuffPtr++;
hi2c->XferCount--;
hi2c->XferSize--;
推荐阅读
- symfony - Symfony 5:使用作曲家安装 smalot/cups-ipp
- amazon-dynamodb - 删除项目并将其添加到 DynamoDB 中的列表
- sql - 如何在 plpgsql 中编写一个函数,将日期与没有时区的时间戳进行比较?
- python - Python:如何旋转此表
- javascript - 如何使用 Vue Js 检查最小长度并限制特殊字符?
- javascript - 如何使用 Node.js 中的 python 脚本?
- android - Expo 仅在网络上运行,在 Android 上失败并出现多个问题
- php - 我的数据库不接受“名称”属性
- amazon-dynamodb - DynamoDB 本地进程
- append - PowerBI:使用计算列附加表