# Récupération d'un code erreur sur périphérique série

**URL:** <https://www.debian-fr.org/t/recuperation-dun-code-erreur-sur-peripherique-serie/54206>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 12:51 UTC](https://www.debian-fr.org/t/recuperation-dun-code-erreur-sur-peripherique-serie/54206 "2016-02-21T12:51:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![boulate](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/ebca7d/32.png) [@boulate](https://www.debian-fr.org/u/boulate)\
**Post date:** [Février 21, 2016, 12:51 UTC](https://www.debian-fr.org/t/recuperation-dun-code-erreur-sur-peripherique-serie/54206/1 "2016-02-21T12:51:00Z")

</div>

Bonjour à tous, j’ai une petite question:

Comment récupérer la valeur de retour d’une commande lancée sur un périphérique branché en série (via un connecteur USB to Serial donc sur le /dev/ttyUSB0).

En gros, j’ai un module Siemens TC35i, je lui lance la commande “AT” (pour voir si il répond), et je voudrai récupérer la valeur de retour pour la contrôler dans mon script bash.

Précisions:

- J’utilise screen pour me connecter: screen /dev/ttyUSB0 9600.
- Je lance mes commandes en utilisant printf, donc là dans mon script ça donne: printf ‘at\r’ \> /dev/ttyUSB0  
Le but étant de lire la valeur de retour “OK” si elle existe (et si c’est pas “ERROR” ) pour contrôler sa présence dans mon script.
- Le classique “$?” ne marche pas car la commande passe bien, j’ai donc un code erreur à 0 même si j’ai eu un problème sur le périphérique série.

---

<div class="post-metadata">

**Author:** ![syam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/syam/32/2951_2.png) [@syam](https://www.debian-fr.org/u/syam)\
**Post date:** [Février 21, 2016, 12:51 UTC](https://www.debian-fr.org/t/recuperation-dun-code-erreur-sur-peripherique-serie/54206/2 "2016-02-21T12:51:00Z")

</div>

Au même titre que tu lui envoies des commandes sur stdout (avec echo/printf), tu lis les réponses sur stdin (avec read par exemple).
