1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| void esp_query_gpib()
{
/* envoi la commande esp_command à ESP300 */
/* http://linux-gpib.sourceforge.net/doc_html/r2298.html */
ibwrt(ESP300,esp_command,strlen(esp_command));
if (ibsta & ERR) {
/* si le bit d'erreur est levé, on écrit "command error" */
gpiberr("ESP300","command error");
}
/* lecture du tampon de l'ESP300 */
/* http://linux-gpib.sourceforge.net/doc_html/r1826.html */
ibrd(ESP300,esp_received,100);
if (ibsta & ERR) {
/* si le bit d'erreur est levé, on écrit "read error" */
gpiberr("ESP300","read error");
}
/* l'élément ibcnt du tableau esp_received est mis à zero */
/* esp_received est une chaine de caractère, on ajoute '\0' pour pouvoir
l'utiliser avec des fonctions comme printf() */
/* la doc dit : After the ibrd() call, ibcnt and ibcntl are set to the number
of bytes read. */
esp_received[ibcntl]='\0';
} |
Partager