Ligne 340 : |
Ligne 340 : |
| On passe ensuite à l'envoie. On utilise la fonction mise à disposition par l'outil STM32CubeIDE : <br> | | On passe ensuite à l'envoie. On utilise la fonction mise à disposition par l'outil STM32CubeIDE : <br> |
| HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size); <br> | | HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size); <br> |
− | L'argument (UART_HandleTypeDef *huart) sert à sélectionner l'uart avec | + | L'argument (UART_HandleTypeDef *huart) sert à sélectionner l'uart sur lequel est branché notre module HC-06 <br> |
− | *dire qu'après on peut tester sur le vrai robot | + | L'argument (uint8_t *pData) est celui sur lequel on va rentrer notre buffer où est contenue la données (on mettra (int8_t*)buffer car la fonction attend un buffer en int8_t* alors que notre buffer est en format char de base). <br> |
| + | L'argument (uint16_t Size) sert à spécifier la taille du buffer : sizeof(buffer) <br> |
| + | On établit donc le code que l'on va utiliser pour envoyer : <br> |
| + | HAL_UART_Transmit_IT(&huart3, (uint8_t*) buff_enco,sizeof(buff_enco)); // encodeurs |
| + | osDelay(200); |
| + | HAL_UART_Transmit_IT(&huart3, (uint8_t*) buff_tens,sizeof(buff_tens)); // tension batterie |
| + | osDelay(200); |
| + | HAL_UART_Transmit_IT(&huart3, (uint8_t*) buff_vit,sizeof(buff_vit)); // vitesse robot |
| + | osDelay(200); |
| + | HAL_UART_Transmit_IT(&huart3, (uint8_t*) buff_posx,sizeof(buff_posx)); // position x |
| + | osDelay(200); |
| + | HAL_UART_Transmit_IT(&huart3, (uint8_t*) buff_posy,sizeof(buff_posy)); // position y |
| + | osDelay(400); |
| + | *Notre code est maintenant prêt à être implémenté sur le robot. |
| | | |
| Par exemple l'image ci-dessous avec des valeurs fictives (compteurs qui s'incrémente) : | | Par exemple l'image ci-dessous avec des valeurs fictives (compteurs qui s'incrémente) : |