uint8_t Spi_RW_Data(uint8_t *p, uint8_t len)//读写函数 { uint8_t pdata[len]; HAL_SPI_TransmitReceive(&, p, pdata,len, 0XFFFF); return pdata[len - 1]; }&后面该填什么
时间: 2023-06-16 13:04:49 浏览: 74
code uint8-t *p-flash 与uint8-t code *p-flash的区别
这个函数定义中缺少了 SPI 外设的实例名,应该将 "&" 后面填上 SPI 外设的实例名,例如 "SPI1" 或 "SPI2" 等。这个实例名应该是在代码中定义 SPI 外设时使用的。例如,如果 SPI 外设的初始化代码如下:
```
SPI_HandleTypeDef hspi1;
void SPI1_Init(void)
{
hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER;
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
// ...
HAL_SPI_Init(&hspi1);
}
```
那么在调用 `Spi_RW_Data` 函数时,应该将 `&` 后面填上 `hspi1`,即:
```
uint8_t Spi_RW_Data(uint8_t *p, uint8_t len)
{
uint8_t pdata[len];
HAL_SPI_TransmitReceive(&hspi1, p, pdata, len, 0XFFFF);
return pdata[len - 1];
}
```
阅读全文