Hayes-kommandona är en de facto-standard för modemstyrning. De används för att konfigurera och styra modem på uppringda linjer. Lägg dock märke till att en vedertagen Hayes-standard saknas och att inte ens Hayes-modem är alltid helt kompatibla med varandra.
Nedan följer de viktigaste kommandona som fungerar med de flesta modem.
| AT | ATtention-kod. De flesta Hayes-kommandon startar med denna kod. Efter AT-koden kan flera kommandon ges på samma rad. |
| +++ | Övergå från ON-LINE-läge till kommandoläge (föregås ej av AT) |
| , | Kommatecken. Paus. Register S8 anger längden i sekunder, standardvärdet är 2 sek (används ihop med D-kommando) |
| A | Svara omedelbart på inkommande ringsignal (svarsläge på) |
| A/ | Upprepa sista kommandot (föregås ej av AT) |
| D | Slå telefonnummer |
| Ex | Lokalt eko PÅ/AV av tangentbordskommandon (E0=eko av, E1=eko på) |
| Fx | Full eller halv duplex (F0=halv duplex, F1=full duplex). Vid full duplex skickar modemet en kopia till bildskärmen av de data som sänds till fjärrdatorn |
| Hx | Lyft eller lägg på luren (H0 = lägg på, H1 = lyft av) |
| Ix | Visa information, t ex I0=produkt-ID, I4=aktuella modeminställningar, I7=Produktkonfiguration (ej alla modem) |
| Lx | Ljudstyrka i modemets högtalare (ej alla modem) |
| Mx | Högtalarkontroll (M0=stäng av, M1=på tills bärvåg, M2=sätt på) |
| O | Återgå till ON-LINE-läge från kommandoläge (OBS bokstaven O, ej nolla) |
| P | Slå telefonnummer med pulskod |
| Qx | Resultatkoder (Q0=visa resultatkoder, Q1=visa ej resultatkoder) |
| R | Skifta från uppringning till svarsläge (answer mode) |
| Sx? | Visa värdet i modemregister x (x är ett tal mellan 0 och 255) |
| Sx=y | Sätt modemregister x till värdet y (se avsnittet om S-register nedan) |
| T | Slå telefonnummer med tonval |
| Vx | Sänd resultatkod som text eller nummer (V0=nummer, V1=text) |
| W | Invänta linjesignal (ihop med D-kommando) |
| Xx | Utökade resultatkoder (se modemmanual) |
| Yx | Mottagning av "Break"-signal (Y0=bryt ej, Y1=bryt) |
| Z | Återställ alla parametrar till inprogrammerade (förvalda) värden ("reset") |
Moderna modem har ofta en utökad kommandouppsättning, där kommandona inleds med tecknet & (se manualer för mer information).
| ATDT249000 | Slå nummer 249000 med tonval |
| ATDT0,08249000 | Slå först 0, vänta 2 sek, slå sedan 08 249000 med tonval |
| A/ | Upprepa senaste kommando (praktiskt vid upptaget) |
| ATH0 | Lägg på luren |
| ATE0V0 | Stäng av eko och ge numeriska resultatkoder |
| ATZ L7 V1 | "Resetta" modemet, sätt högsta ljudstyrka på högtalaren, ge resultatkoder i textform |
| ATS2? | Visa innehåll i register S2 |
Observera att kommandona måste avslutas med Enter.
Kommunikationsprogram levereras ofta med färdiga kommandouppsättningar för olika modem. Där kan man t ex finna följande kommandosekvens:
| ATE0 V0 Q0 M1 | Koppla bort eko, sänd resultatkoder i nummerform och koppla bort högtalaren då bärvågen kommer |
S-registren (systemregister) styr mycket av ett modems funktioner. De lagrar data som modemet behöver och värden som uppkommer under körning. Ett modem kan ha över 50 register. Eftersom det rör sig om en de facto-standard finns inga vedertagna regler som fastställer hur registren skall användas. I praktiken är dock de flesta modem kompatibla vad gäller de 10 första S-registren, men i tveksamma fall bör man rådfråga det aktuella modemets manual.
| S0 | Bestämmer hur många inkommande ringsignaler som skall gå fram innan modemet svarar när autosvar är aktiverat (S0=0 kopplar bort autosvarsfunktionen). Om värdet är t ex 5 kommer modemet att svara på 5:e ringsignalen. |
| S1 | Räknar och lagrar antalet ringsignaler från ett inkommande samtal. |
| S2 | Anger ASCII-koden (i decimal form) för "bryt"-tecknet, normalt plustecken (+, ASCII 43). Obs att register S12 bestämmer inledande och avslutande väntetid. Tre bryttecken efter varandra (+++) får modemet att övergå från ON-LINE-läge till kommandoläge. |
| S3 | Anger ASCII-koden som skall tolkas som vagnretur (carriage return). Normalt ASCII 13. |
| S4 | Anger ASCII-koden som skall tolkas som radframmatning (line feed). Normalt ASCII 10. |
| S5 | Anger ASCII-koden som skall tolkas som backsteg (backspace). Normalt ASCII 8. |
| S6 | Anger hur många sekunder som skall gå från det att "luren" lyfts och nummerslagningen börjar (normalvärde 2 sek). Om modemet ansluts till ett telefonjack som går till en äldre telestation kan det vara lämpligt att höja värdet, eftersom det kan ta tid för telestationen att ge linjeton. |
| S7 | Anger den tid (i sekunder) som modemet skall invänta bärvåg från svarande modem. Vid kommunikation mellan AXE-stationer kan detta värde hållas lågt. |
| S8 | Pauslängd (i sekunder) för kommatecknet vid nummerslagning. Normalvärde 2 sek |
| S9 | Anger den tid (i tiondels sekunder) som en bärvåg skall registreras innan den anses vara giltig. Används för att undvika att störningar uppfattas som bärvågssignaler. (S9=7 innebär 0,7 sekunder). |
| S10 | Anger den tid (i tiondels sekunder) som bärvågen får "försvinna" (vid uppkopplat läge) innan modemet kopplar ned. Ett högre värde än normalvärdet (vanligen 14, dvs 1,4 sek) kan användas vid kommunikation med dåliga linjer. |
| S11 | Anger tiden (i millisekunder) för tonsignaler och tidsintervallet mellan dessa vid tonvalsuppringning. |
| ATS0=5 | Svara automatiskt på 5:e ringsignalen (förvalt värde vanligen 0) |
| ATS2=63 | Sätt bryttecken till "?" (ASCII 63, förvalt värde är "+", ASCII 43) |
| ATS6=5 | Vänta i 5 sekunder från det att modemet "lyfter" luren tills det att nummerslagningen börjar (normalvärde 2 sekunder) |
| ATS7=45 | Vänta i 45 sekunder på att fjärrmodemet svarar. Om inget svar kommit inom denna tid lägger modemet på luren (förvalt värde 60 sek). |
För att visa värdet i ett S-register används syntaxen: ATSx?, där x anger registrets nummer.
1. Vad utför följande kommandon?
a) ATA b) ATT c) ATI4 d) ATE1 e) ATS0=0 f) ATS9=10
2. Vilket modemkommando ska man ge för att
a) Få modemet att visa resultatkoder?
b) Få tyst på modemet?
Copyright © 1998 Martin Fahlgren
martin@1-1-7-46a.ghn.gbg.bostream.se[Till början av dokumentet] [Till artikelförteckningen]