gpt4 book ai didi

c - 函数指针

转载 作者:行者123 更新时间:2023-11-30 19:33:39 24 4
gpt4 key购买 nike

当我在 Keil 开发代码时,有一个传输功能;

 HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, 
uint16_t Size, uint32_t Timeout)

当我使用 pData 作为指针时,我在上面添加了 *(buf+spi_ri) 之类的内容,但出现错误。 (uint8_t 与“uint8_t”类型的参数不兼容)

当我声明没有指针(buf+spi_ri)时,没有错误。

我必须获取缓冲区的指针,没关系。但是当我不使用 (*) 时 HAL_SPI_Transmit 函数声明可以吗?还是我可以在不指向缓冲区内部的情况下读取缓冲区?

谢谢

void SPI_COM(uint8_t lenght,uint8_t *buf)

{
uint8_t spi_cnt = lenght;

uint8_t spi_wi = 0;

uint8_t spi_ri = 0;

while( spi_wi != spi_cnt )
{
if( __HAL_SPI_GET_FLAG( &hspi2, SPI_FLAG_TXE ) && (spi_ri < lenght) )

{
//HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t


*pData, uint16_t Size, uint32_t Timeout)


HAL_SPI_Transmit( &hspi2, (buf+spi_ri), (uint16_t) 1, (uint32_t)100 );


}

}

ERROR PIC

最佳答案

您正在将 uint8_t 与 uint8_t 指针混合在一起。

关于c - 函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45147123/

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