Comme l'indique le sujet je ne parviens pas à faire communiquer un programme AutoIt avec une carte Arduino, je bloque au stade d'ouverture du port série avec le script AutoIt.
L'Arduino envoi en permanence la chaine de caractère "Arduino" sur le port COM3 avec un baudrate de 9600, caractère par caractère toute les demi-seconde.
J'ai d'abord essayé d'utiliser l'UDF "CommMG.au" publié ici : https://www.autoitscript.com/forum/topi ... ent-341916, en appliquant des exemples vus sur des forums (comme je ne suis pas à l'aise en programmation c'est le plus rapide pour moi).
Le premier script que j'ai essayé est celui de cutprod ici : https://autoitscript.fr/forum/viewtopic.php?t=11236 - Pour communiquer par USB avec des cartes type "Arduino", le script affiche un moniteur dans lequel est sensé défilé les messages envoyés sur le port COM. Résultat : rien sur moniteur du script et je peux me mettre sur le port COM avec un autre logiciel comme PuTTY ce qui signifie que le script n'ouvre même pas le port COM. Le deuxième que j'ai essayé : viewtopic.php?t=14725 -> même résultat. L'UDF utilise un DLL, que j'ai à chaque fois mis dans le dossier du script puis essayé avec _CommSetDllPath pour vérifier si l'erreur ne venait pas de là. Le port COM et le baudrate correspondent.
Ensuite j'ai utilisé l'exemple de l'API (https://www.autoitscript.com/wiki/CommAPI) ci-dessous :
Func Example()
Local $hFile = _CommAPI_OpenCOMPort(3, 9600, 0, 8, 1)
If @error Then Return SetError(@error, @ScriptLineNumber)
Local $sResult = ""
While True
$sResult = _CommAPI_ReceiveString($hFile, 5000, 0, "<CR>")
If @error Then Return SetError(@error, @ScriptLineNumber, $sResult)
MsgBox(64, "Line", $sResult)
WEnd
_CommAPI_ClosePort($hFile)
If @error Then Return SetError(@error, @ScriptLineNumber, $sResult)
Return $sResult
EndFunc
Avant de poster mon message j'ai cherché les erreurs en m'appuyant la doc des fonctions, etc. mais rien a faire je ne vois pas d'où peut venir l'erreur. D'autant plus que ça semble marcher chez les autres. Je me demande si le problème ne vient pas d'une configuration. J'ai remarqué quelque chose d'étrange, c'est que le baudrate sur lequel je règle mes moniteurs (PuTTY ou celui de l'IDE Arduino) ne semble pas influer sur le message : je le met à 300 comme à 500000 je reçois toujours la même chose.