Bonjour,
Je bute sur une question en C.
L'erreur va surement vous paraitre évidente, mais je ne vois plus clair faute de m'énerver et surement d'un manque de base.
Toujours est il que...
> Je développe sur STM32 en C ( STM32 cube IDE).
> Je cherche a décoder une trame reçue (UART) par le STM, envoyé par le PC
> Ma trame, de longueur variable, contient caractère début et fin de trame.
> Ma trame est de type Commande AT.
<STX>C_SPEED!1234<ETX> ou <STX>C_SPEED?<ETX>
<STX>C_DISTANCE!1234<ETX> ou <STX>C_DISTANCE?<ETX>
Mon firmware reçoit correctement la trame, et en en mesure de définir le type de commande (! ou ?). Ici je cherche a comparer ma commande reçue.
Ma commande est enregistrer sous le format : Char data[10]={0} ou
data[0] = C
data[1] = _
data[2] = S
data[3] = P
data[4] = E
data[5] = E
data[6] = D
Une commande du type strcmp() me parait intéressante.
genre strcmp(data,"C_SPEED)==0 si identique.
hors rien a faire... je pense que le problème vient de mon tableau sans le caractère '/0'.
Un avis ?
-----