# Garnitura ukazov Hayes za modem

Tu je opis nabora ukazov Hayes. Večina modemov v veliki meri sledi tem naboru znakov. Če ste izgubili priročnik za vaš modem ali pa ga sploh nikoli niste imeli, vam ta referenca utegne priti prav. Sam sem, na primer, končno odkril, kako utišati zvočnik svojega modema: `ATM0` -- Končno: tišina!

Inicializacijski niz za modem sestoji iz zaporedja ukazov. Modem pripravi za komunikacije, nastavlja lastnosti, kot je način klicanja, zaznava signala zasedenosti, in mnoge druge nastavitve. Novejši komunikacijski programi za modem nastavijo inicializacijski niz namesto vas glede na to, katere lastnosti omogočite v menujih itd.

Mnoga leta so predstavljali modemi proizvajalca Hayes standard. Ko je trg modemov zrastel, so mnogi vsaj delno sledili standardu Hayes. Naslednje je del spiska naborov ukazov Hayes (imenovanih tudi ukazi AT). Nabor ukazov Hayes lahko razdelimo v štiri skupine:

Osnovni nabor ukazov

  Velika črka, ki ji sledi številka, na primer `M1`.

Razširjen nabor ukazov

  & (znak "in") in velika črka, ki ji sledi števka. To je razširitev osnovnega nabora ukazov. Na primer, `&M1`. Vedite pa, da je `M1` različno od `&M1`.

Nabor lastniških ukazov

  Navadno se ti ukazi začnejo bodisi z obrnjeno poševnico (\), bodisi z znakom za odstotek (&percnt;), in se močno razlikujejo med proizvajalci modemov. Zato so spodaj podani le nekateri od teh ukazov.

Ukazi za delo z registrom

  `Sr=n` kjer je r število registra, ki ga je treba spremeniti, n pa nova vrednost, ki mu je prirejena.

  Register je računalniški izraz za točno določeno mesto v pomnilniku. Modemi imajo še vedno le malo pomnilnika. Ta četrti nabor ukazov se uporablja za vnos vrednosti v določen register (kraj v pomnilniku). Register lahko shranjuje določeno spremenljivko (alfanumerični podatek), ki ga uporabita modem in programje za komunikacijo. Na primer, `S7=60` naroči vašemu računalniku, da nastavi register #7 na vrednost 60.

Čeprav je večina ukazov definiranih kot kombinacija črke in številke (`L0`, `L1` itd.), raba ničle ni obvezna. V tem primeru `L0` pomeni isto kot le `L`. Spomnite se tega ob branju spodnje tabele!

Tu so nekateri najpomembnejši znaki, ki se lahko pojavijo v inicializacijskem nizu za modem. Ti znaki se navadno ne bi smeli spreminjati.

`AT`

  Pove modemu, da sledijo modemski ukazi. To mora biti obvezno na začetku vsake vrstice ukazov.

`Z`

  Postavi modem nazaj v njegovo privzeto stanje

`,` (a comma)

  naredi sekundni premor v vašem programju. Zaporedoma lahko uporabite več kot en ukaz `,`. Na primer, `,,,,` pove programju, naj čaka štiri sekunde. (Trajanje premora ureja nastavitev registra `S8`).

`^M`

  Pošlje končni znak CR modemu. To je nadzorna koda, ki ga večina komunikacijskega programja pozna pod angleškim imenom Carriage Return

## Osnovni nabor ukazov Hayes

Urejen po abecedi:

### Osnovni nabor ukazov Hayes

Ukaz | Opis | Komentarji
--- | --- | ---
`A0` ali `A` | Odgovori na prihajajoči klic |
`A/` | Ponovi zadnji ukaz | Ne prični z `AT`. Enter običajno prekine.
`B0` ali `B` | Pogajanja o klicu. | Sekvenca odgovora za V32 Mode/CCITT.
`B1` | Pogajanja o klicu. | Sekvenca odgovora za Bell 212A
`B2` | Pogajanja o klicu. | Izčrpni/tihi odgovor

`D`

Pokliči

Pokliče naslednjo številko in se nato rokuje v izvirnem načinu.

`P`

  Pulzno izbiranje

`T`

  Tonsko izbiranje

`W`

  Počaja na drugo tonsko izbiranje

`,`

  Počakaj čas določen v registru `S8` (običajno 2 sekundi)

`;`

  Po izbiranju ostani v ukaznem načinu.

`!`

  Flash switch-hook (Odloži za pol sekunde, kot pri posredovanju klica.

`L`

  Izberi zadnjo številko

`E0` ali `E` | No Echo | Ne bo odmeval ukazov računalniku
`E1` | Echo | Prikaže ukaze na zaslonu računalnika (da vidite, kaj tipkate)
`H0` | Status povezave | On hook - Odloži
`H1` | Hook status | Off hook - klic sprejet
`I0` ali `I` | Poizvedovanje, infromacije ali izpraševanje | Ta ukaz je zelo odvisen od modela. `I0` navadno vrne številko ali kodo, medtem ko višje številke pogosto ponujajo bolj uporabne informacije.
`L0` ali `L` | Glasnost zvočnika. Modemi z gumbi za določanje glasnosti tega običajno ne bodo imeli. | Izklopljeno ali nizka glasnost.
`L1` |  | Nizka glasnost.
`L2` |  | Srednja glasnost
`L3` |  | Glasno ali zelo glasno
`M0` ali `M` | Zvočniki so izklopljeni | `M3` je prav tako pogost, vendar se pri različnih znamkah razlikuje.
`M1` |  | Zvočnik je vklopljen, dokler ni zaznan oddaljen nosilec (&npr; dokler ni zaznan drug modem)
`M2` |  | Zvočnik je vedno vklopljen (po CONNECT se slišijo zvoki prenosa podatkov)
`N0` ali `N` | Hitrost rokovanja | Rokuj se le pri hitrosti, določeni z `S37`
`N1` |  | Rokuje se pri hitrostih, višjih od `S37`
`O0` ali `O` | Vrni se na zvezo | Glej tudi `X1`, saj je lahko aktivno tudi zaznavanje tonskega izbiranja.
`O1` |  | Po zaporedju učenj izenačevalnika se vrni na zvezo
`Q0` ali `Q1` | Tihi način | Izključeno - prikaže kode rezultatov, uporabnik vidi odgovore ukazov (npr. `OK`)
`Q1` | Tihi način | Vključeno - kode rezultatov so zadržane, uporabnik ne vidi odgovorov.
`Sn?` |  | Poizvedi po vsebini registra S n
`Sn=r` | Store | Shrani vrednost r v S-register n
`V0` ali `V` | Izčrpen | Numerične kode rezultatov
`V1` |  | Angleške kode rezultatov (npr. `CONNECT`, `BUSY`, `NO CARRIER` itd.)
`X0` ali `X` | Smartmodem | Hayes Smartmodem 300 kompatibilne kode
`X1` |  | Običajno doda osnovnim kodam hitrost povezave (&npr; `CONNECT 1200`
`X2` |  | Običajno doda detekcijo tonskega načina (preprečuje slepo izbiranje in včasih prepreči `AT0`)
`X3` |  | Običajno doda detekcijo signala zasedenosti
`X4` |  | Navadno doda zaznavanje signala za zasedenost in tonskega izbiranja
`Z0` ali `Z` | Resetiraj | Resetiraj modem na shranjeno nastavitev. Uporabite `Z0`, `Z1` itd. za več profilov. To je isto kot `&F` za tovarniško nastavitev na modemih, ki nimajo NVRAM (trajnega pomnilnika)

## Razširjen nabor ukazov Hayes

Ukazi z znakom in

### Razširjen nabor ukazov Hayes

Ukaz | Opis | Komentarji
--- | --- | ---
`&B0` ali `&B` | Parametri za vnovično učenje | Onemogoči samodejno učenje
`&B1` | Parametri za vnovično učenje | Omogoči samodejno učenje
`&B2` | Parametri za vnovično učenje | Omogoči samodejno učenje, a prekini povezavo, če ni izboljšanja po preteku obdobja, ki ga določa `S7`
`&C0` ali `&C1` | Zaznavanje nosilnega tona | Signal je vedno vključen
`&C1` | Zaznavanje nosilnega tona | Kaže oddaljeni nosilni ton (navadno privzeto in zaželeno)
`&D0` ali `&D` | Data Terminal Ready (DTR | Signal prezrt (odvisno od modema, zato za tega poglejte svoj priročnik za modem!)
`&D1` | Data Terminal Ready (DTR | Če gre DTR iz stanja vklopljenosti v stanje izklopljenosti, modem vstopi v ukazni način (le nekateri modemi)
`&D2` | Data Terminal Ready (DTR | Nekateri modemi položijo zvezo ob prehodu DTR iz vključenega v izključenega (to je navadno zaželena privzeta vrednost)
`&D3` | Data Terminal Ready (DTR | Odloži slušalko, resetira modem, in se vrne v ukazni način ob DTR

`&F0` ali `&F`

Tovarniške nastavitve

Splošne privzete vrednosti, združljive s Hayes.

To je navadno dobra stvar za vaš inicializacijski niz, saj se lahko ukazi `&F1`-`&F3` razlikujejo med modemi in so lahko vir težav pri priklapljanju. (Ker nikoli ne veste, kaj natančno `&F2` proizvajalca X zares spremeni.)

Po drugi strani pa se izplača preskusiti nekaj drugih spodnjih izbir; težave mnogo ljudi je mogoče rešiti tako, da zapleten inicializacijski niz zamenjamo s preprostim `&F2` ali čim podobnim. Vendar, če gradite inicializacijski niz, je najboljše, da začnete s preprostim `&F`, in ne uporabljate prilagojene oblike privzetih vrednosti.

`&F1` | Tovarniške nastavitve | Tovraniške nastavitve, prilagojene IBM PC kompatibilnemu uporabniku
`&F2` | Tovarniške nastavitve | Tovarniške nastavitve za Mac s programskim rokovanjem
`&F3` | Tovarniške nastavitve | Privzete nastavitve za Mac w/strojno vzpostavitev povezave
`&G0` ali `&G` | Zščitni toni | Onemogoči zaščitne tone
`&K0` ali `&K` | Lokalni nadzor pretoka | Onemogoči lokalni nadzor pretoka
`&K1` | Lokalni nadzor pretoka | Omogoči RTS/CTS strojni nadzor pretoka
`&K2` | Lokalni nadzor pretoka | Omogoči XON/XOFF programski nadzor lokalnega pretoka
`&K3` | Lokalni nadzor pretoka | Omogoči RTS/CTS strojni nadzor pretoka
`&K4` | Lokalni nadzor pretoka | Omogoči XON/XOFF programski nadzor lokalnega pretoka
`&L0` ali `&L` | Način izbiranja | Izberi način klicanja (izbiranja)
`&M0` ali `&M` | Način nadzora nad napakami | Izberi asinhroni ne-EC način (enako kot `&Q0`)
`&P0` ali `&P` | Razmerje pri pulznem izbiranju | Razmerje pulznega izbiranja v ZDA/Kanadi 39% / 61% premora
`&P1` | Razmerje pri pulznem izbiranju | Razmerje pulznega izbiranja v VB/Hongkongu 33% / 67% premora
`&Q0` ali `&Q` | Način nadzora nad napakami | Asinhroni ne-EC način. Brez predpomnjenja podatkov. ASB je onemogočen.
`&Q5` | Način nadzora nad napakami | Izberi V.42 EC operacijo (zahteva nadzor pretoka)
`&Q6` | Način nadzora nad napakami | Asinhroni način z ASB (zahteva nadzor pretoka)
`&Q8` | Način nadzora nad napakami | Izberi alternativni EC protokol (MNP)
`&Q9` | Način nadzora nad napakami | Pogojno stiskanje podatkov: V.42bis = da, MNP5 = ne.
`&S0` ali `&S` | Izbira dejanja DSR | Vedno vklopljen (privzeto)
`&S1` | Izbira dejanja DSR | Sledi specifikaciji EIA (aktivnost sledi prejetemu tonu nosilca dokler ni ta izgubljen.)
`&T0` ali `&T` | Samopreverba | Od modela odvisna samopreverba na nekaterih modemih
`&U0` ali `&U` | Trellis code modulation | Omogoči V.32 TCM
`&U1` | Trellis code modulation | Onemogoči V.32 TCM
`&V0` ali `&V1` | Poglej aktivne | (in pogosto shranjene) nastavitve prilagoditvenih profilov (ali `ATI4`
`&W0` ali `&W` | Shrani profil | V NVRAM (`&W0`, `&W1` itd. za večkratne profile) nekaterih nastavitev ni možno shraniti. Teh pogosto ni videti pri uporabi `&V` or `ATI4`
`&Y0` ali `&Y` | Izberi konfiguracijo, naloženo ob vklopu | Naloži profil 0 (privzeto)
`&Y1` | Izberi konfiguracijo, naloženo ob vklopu | Naloži profil 1
`&Zn=x` | Mehak reset in naloži shranjen profil n | Upoštevajte, da so vsi elementi za `&Z` ignorirani

## Ukazi z \ in &percnt;

### Ukazi z \ in &percnt;

Ukaz | Opis | Komentarji
--- | --- | ---
`\A0` ali `\A` | Največja velikost bloka MNP | največ 64 znakov
`\A1` | Največja velikost bloka MNP | največ 128 znakov
`\A2` | Največja velikost bloka MNP | največ 192 znakov
`\A3` | Največja velikost bloka MNP | največ 256 znakov
`&percnt;C0` ali `&percnt;C` | Omogoči/onemogoči stiskanje podatkov | Izklopljeno
`&percnt;C1` | Omogoči/onemogoči stiskanje podatkov | omogoči MNP5
`&percnt;C2` | Omogoči/onemogoči stiskanje podatkov | omogoči V.42bis (BTLZ)
`&percnt;C3` | Omogoči/onemogoči stiskanje podatkov | Omogoči MNP5 & V.42bis (BTLZ)
`&percnt;D0` ali `&percnt;D` | Stiskanje podatkov | 512 BLTZ dictionary size
`&percnt;D1` | Stiskanje podatkov | 1024 BLTZ dictionary size
`&percnt;D2` | Stiskanje podatkov | 2048 BLTZ dictionary size
`&percnt;D3` | Stiskanje podatkov | 4096 BLTZ dictionary size
`&percnt;E0` ali `&percnt;E1` | Ubežna metoda | ESCAPE ONEMOGOČEN
`&percnt;E1` | Ubežna metoda | metoda `+++AT` (privzeto)
`&percnt;E2` | Ubežna metoda | metoda `Break` `AT`
`&percnt;E3` | Ubežna metoda | OBE metodi sta omogočeni
`&percnt;E4` | Ubežna metoda | Onemogoči `OK` za `+++`
`&percnt;E5` | Ubežna metoda | Omogoči `OK` za `+++`
`\J0` ali `\J` | Samostojna prilagoditve hitrosti DTE | Izklopljeno
`\J1` | Samostojna prilagoditve hitrosti DTE | Hitrost DTE je prilagojena da ustreza hitrosti nosilca.
`\N0` ali `\N` | Tip povezave | Običajna povezava (definicijo si oglejte spodaj)
`\N1` | Tip povezave | Neposredna povezava
`\N2` | Tip povezave | MNP samodejna zanesljiva povezava
`\N3` | Tip povezave | Samodejna zanesljiva povezava
`\N4` | Tip povezave | V.42bis zanesljiva povezava s fazno detekcijo
`\N5` | Tip povezave | V.42bis samodejna zanesljiva povezava s fazno detekcijo
`\N6` | Tip povezave | V.42 zanesljiva povezava s fazno detekcijo
`\N7` | Tip povezave | V.42 samodejna zanesljiva povezava s fazno detekcijo

Neposredna povezava je preprosto povezava brez odpravljanja napak ali stiskanja podatkov. V tem primeru morata biti hitrosti povezav računalnik-modem in modem-modem enaki.

Običajna povezava uporablja nadzor pretoka (programski ali pa strojni), da lahko predpomni podatke, ki jih pošilja ali sprejema, da lahko modem posreduje podatke z drugačno hitrostjo, kot jih pošilja ali sprejema računalnik. Računalnik lahko na primer pošilja podatke z 57kb/s z uporabo stiskanja, modem pa dejansko pošilja z 28.8 kb/s. Ta način uporablja večina modemov.

Zanesljiva povezava je tip navadne povezave; če iz kakšnega vzroka stiskanje podatkov ali odpravljanje napak ne moreta biti vzdrževana, bo povezava prekinjena.(Tak modem zagotavlja, da so povezave zanesljive, saj jih bo prekinil, če niso.)

Samodejna zanesljiva povezava je v bistvu enaka, le da bo modem poizkusil spremeniti povezavo, da bo ta postala zanesljiva. To je način, ki ga uporablja večina modemov.

## S-registri

### S registri

Register | Obseg | Privzeto | Funkcija
--- | --- | --- | ---
`S0` | 0-255 zvonenj | 1-2 | Odgovori na zvonenje. Ne ogovori, če je 0
`S1` | 0-255 zvonenj | 0 | če je `S0` večji od 0 ta register šteje prispele pozive (zvonenje).
`S2` | 0-127 ASCII | 43 + | Ubežni znak v ukazni način
`S2` | >127 |  | no ESC
`S3` | 0-127 ASCII | 13 CR | Znak Carriage return (enter)
`S4` | 0-127 ASCII | 10 LF | Znak Line feed (preskok v novo vrstico)
`S5` | 0-32, 127 ASCII | 8 BS | Vračalka
`S6` | 2-255 sekund | 2 | Čas čakanja izbirnega tona (slepo izbiranje, glejte Xn
`S7` | 1-255 sekund | 30-60 | Čas čakanja na oddaljeni nosilec
`S8` | 0-255 sekund | 2 | Uporaba premora za vejico pri izbiranju
`S9` | 1-255 1/10 sekunde | 6 | Čas zaznavnja nosilca, potreben za prepoznavanje
`S10` | 1-255 1/10 sekunde | 7-14 | Čas med izgubo nosilca in odložitvijo
`S11` | 50-255 millisekund | 70-95 | Trajanje in razmik tonov pri tonskem izbiranju
`S12` | 0-255 1/50 sekunde | 50 | Varovalni čas presledka ob ukazni sekvenci `+++`

`S36`

Rezervne možnosti, če odpove odpravljanje napak:

- 0 - Prekini povezavo

- 1 - Vzpostavi neposredno povezavo

- 3 - Vzpostavi običajno povezavo

- 4 - Če je možno, vzpostavi povezavo tipa MNP sicer prekini

- 5 - Če je možno, vzpostavi povezavo tipa MNP connection if possible, sicer neposredno povezavo.

- 7 - Če je možno, vzpostavi povezavo tipa MNP sicer običajno povezavo

7

Obravnavanje napake pri pogajanju

`S37`

- 1 = 300 bps

- 5 = 1200 bps

- 6 = 2400 bps

- 7 = 1200/75 bps (v.23 mode)

- 8 = 4800 bps

- 9 = 9600 bps

- 10 = 12000 bps

- 11 = 14400 bps

- 12 = 7200 bps

0

Pogajalska hitrost (Začeten pozdrav)

Mnogi modemi imajo na ducate ali celo stotine S registrov, vendar pa jih le prvih 12 predstavlja standard. Spreminjajo se z ukazom kot je `ATSn=N`, in preglejujejo z `ATSn?` (``AT` `S10``=70` `S1?`` bi &npr; povedal modemu, da naj sedem skund ne odloži modema, četudi modema ki odgovarja ne bo slišal , vrne pa naj število zvonenj telefona.