C 指向函数的指针

C 指向函数的指针,c,pointers,keil,C,Pointers,Keil,当我在Keil开发代码时,有一个传输函数 HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout) 当我在上面添加*(buf+spi_ri)时使用pData作为指针时,我得到了一个错误。(uint8\u t与类型为“uint8\u t”的参数不兼容) 当我声明没有指针(buf+spi_ri)时,没有错误 我得去拿缓冲器的指针,没事

当我在Keil开发代码时,有一个传输函数

 HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, 
 uint16_t Size, uint32_t Timeout)
当我在上面添加*(buf+spi_ri)时使用pData作为指针时,我得到了一个错误。(uint8\u t与类型为“uint8\u t”的参数不兼容)

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

我得去拿缓冲器的指针,没事的。但是当我在 HAL_SPI_传输函数声明是否可以,或者我是否可以在不指向缓冲区内部的情况下读取缓冲区

谢谢

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 );


        }

    }  
void SPI_COM(uint8_t length,uint8_t*buf)
{   
uint8_t spi_cnt=长度;
uint8_t spi_wi=0;
uint8_t spi_ri=0;
while(spi_wi!=spi_cnt)
{
如果(uuu HAL_uspi_uget_uflag(&hspi2,SPI_uflag_TXE)和&(SPI_uri

您正在将uint8\u t与uint8\u t指针混合使用。

请发布编译后的代码,给出您描述的错误,并引用准确的错误消息。您显示的内容有语法错误。请检查您没有将char*与字节*或const指针与非const或指向const的指针混合使用。只需编辑隐藏程序