【发布时间】:2021-12-06 16:03:10
【问题描述】:
我有一个 C 函数:
* \fn int32_t readMyData(uint8_t *dStatus, uint8_t *dData, uint8_t *dCRC)
* \param *dStatus pointer to address where STATUS byte will be stored
* \param *dData pointer to starting address where data bytes will be stored
* \param *dCRC pointer to address where CRC byte will be stored
* \return 32-bit sign-extended conversion result (data only)
int32_t readMyData(uint8_t status[], uint8_t data[], uint8_t crc[])
我不习惯指针,你能帮我吗,我应该在我的 Main 函数中初始化什么样的变量才能调用 readMyData?在原型的参数中它是数组:uint8_t status[], uint8_t data[], uint8_t crc[] 但在函数的 cmets 中它指向:dStatus 指向地址的指针。
我应该定义:
uint8_t *status, *data, *crc
int32_t result =0;
然后调用函数;
result = readMyData(&status,&data,&crc);
有意义吗?
谢谢
【问题讨论】:
-
不,那行不通。函数描述为
dData参数说:“数据字节将被存储在哪里”。注意复数。它期望您传递足够大小的uint8_t数组。我不知道那个尺寸应该是多少。