Bonjour, j'ai le prototype de fonction suivante:
Je veux ecrire une chaine de caractere dans l'uart donc j'ai code cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 /** * @brief Envoi une chaine de caractere sur l'USARTx. Fonction BLOCANTE si un caractere est deja en cours d'envoi. * @func void UART_putc(UART_HandleTypeDef * UART_Handle, char c) * @param str : la chaine de caractère Ã* envoyer * @param USARTx : USART1, USART2 ou USART6 */ void UART_puts(uart_id_e uart_id, uint8_t * str, uint8_t len);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 char str[20]; void measure(void){ sprintf(str,"AT$SF=A10A\n"); UART_puts(UART2_ID, str, sizeof(str)); HAL_Delay(3000); }Sauf que le 2eme argument doit etre de type uint8_t, j'ai tente des trucs avec la fonction atoi(); mais je n'arrive pas a un resultat correct, comment passer d'un char a un uint8_t ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ../Src/main.c: In function 'measure': ../Src/main.c:241:22: warning: pointer targets in passing argument 2 of 'UART_puts' differ in signedness [-Wpointer-sign] UART_puts(UART2_ID, str, sizeof(str)); ^~~
Partager