2017-07-17 4 views
-1

Pendant que je développais du code chez Keil, il y a une fonction de transmission;Pointer At Functions

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

Pendant que j'utilise pData comme pointeur que j'ajouter ci-dessus comme * (BUF + spi_ri) je reçois l'erreur. (uint8_t est incompatible avec le paramètre de type "uint8_t")

Et quand je déclare sans pointeur (buf + spi_ri) il n'y a pas d'erreur.

Je dois obtenir le pointeur du tampon, ça va. Mais quand je n'utilise pas (*) dans la déclaration de fonction HAL_SPI_Transmit est-ce correct ou est-ce que je lirai la mémoire tampon sans pointer à l'intérieur du tampon?

Merci

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

+1

Veuillez écrire le code qui a été compilé pour donner l'erreur que vous décrivez, et citer le message d'erreur exact. Ce que vous montrez a des erreurs de syntaxe. – lurker

+0

Vérifiez que vous ne mélangez pas un char * avec un octet * ou un pointeur const avec un non-const ou un pointeur vers const. – Ant

+0

Lurker récemment édité –

Répondre

0

Vous empilez uint8_t avec un pointeur uint8_t.