AT-příkazy
Na Úvod
Dnes je používá asi každý modem. Byly vymyšleny
za účelem jednodušší konfigurace modemu. Byl definován jednoduchý jazyk
nazývaný AT-language - každý řádek začíná znaky AT (z anglického attention).
K používání je třeba terminálový software dodávaný většinou s modemem
(například program SuperTerminal u modemů Well). Jeho příkazy jsou
softwarem předávány po sériové lince zasílány přímo k modemu podle normy
RS-232. Modem dokáže pracovat ve dvou režimech - v příkazovém, sloužícím k
zadávání AT-příkazů modemu a v přenosovém v němž mezi sebou modemy
přenášejí data a nemohou přijímat AT-příkazy. Modem nemůže pracovat v obou
zároveň, ale může mezi nimi přepínat bez ztráty spojení. Přepínání se
provádí tzv. escape sekvencí, která sestává ze tří stejných znaků
stisknutých rychle po sobě. Tento znak je většinou "+", ale není to
pravidlem.
Přehled základních AT-příkazů
AT-příkaz začíná dvojicí znaků AT a sestává z
několika písmen a parametr je většinou číslo. Nezáleží na velikosti písmen
a na mezerách. Každý příkaz se ukončuje stiskem klávesy Enter. Na jeden
řádek lze napsat i více příkazů - pak se počáteční sekvence AT píše jen
před prvním příkazem. Na jeden řádek je možno kromě prvních dvou znaků AT
napsat maximálně 40 znaků. Pokud bude řádek delší, modem ohlásí chybu.
+++
Žádost o přechod do příkazového režimu - escape sekvence. ASCII kód
přerušovacího znaku je uložen v registru S2. Nepíše se před ním AT. Před
zadáním je nutno nějaký čas (escape code guard time) neposílat modemu
žádná data - tj. mimo jiné nemačkat žádné klávesy. Tento čas je uložen v
registru S12, obvykle je nastaven na 1 sekundu a lze ho měnit. Sekvenci je
třeba zadat rychle a poté opět počkat po dobu kontrolního času. Po
úspěšném zadání modem odpoví OK a přejde do příkazového režimu.
A/
Zopakování posledního platného příkazu. Kromě escape sekvence jediný
AT-příkaz, který se nezadává s počátečním AT.
ATA
Odpověď na příchozí volání. Modem
okamžitě zvedne linku a pokusí se navázat spojení.
ATB
Přepínání mezi normou Bell a CCITT
ATB0 -
použití normy CCITT (implicitně)
ATB1 - použítí normy Bell
ATD
Vytočí číslo.
ATDT+číslo - pro vytáčení se použije tónová
volba
ATDP+číslo - pro vytáčení se použije pulsní
volba
ATDL - vytočí poslední vytáčené číslo (redial)
ATDS - vytočí často používané číslo (viz. AT&Z)
Do čísla je možno zadat znak "," (čárka), která vyvolá krátkou pauzu před
vytáčením další číslice. Znak "W" způsobí čekání na oznamovací tón. Znak
"!" na chvíli zavěsí a zase zvedne linku a znak ";" na konci čísla znamená
že modem má po vytočení čísla přejít zpět do příkazového režimu.
ATE
Vypíná opakování znaků (echo), které byly do
modemu zaslány. Implicitně modem vrací zpět všechny znaky které mu
pošleme.
ATE0 - zakazuje vracení znaků
ATE1 - povoluje echo (implicitně)
ATH
Pokládá linku (hangup).
ATH0 - Modem zavěsí linku.
ATH1 - Modem vyvěsí linku. Na rozdíl od ATA se
nepokouší navázat spojení.
ATL
Ovládání hlasitosti vestavěného reproduktoru.
ATL0 - vypíná vestavěný reproduktor
ATL1 - nastaví reproduktor na hlasitost 1
ATL2 - nastaví reproduktor na hlasitost 2
ATL3 - nastaví reproduktor na hlasitost 3
ATM
Ovládá zapínání a vypínání vestavěného
reproduktoru
ATM0 - reproduktor vždy vypnutý
ATM1 - reproduktor zapnutý až do rozeznání nosné
(carrier) (implicitně)
ATM2 - reproduktor vždy zapnutý
ATM3 - reproduktor vypnutý během volby a
navazování spojení až do rozeznání nosné
ATO
Přechod zpět do přenosového režimu. Opak
escape sekvence.
ATO0 - přechod zpět do přenosového režimu
ATO1 - speciální funkce
ATP
Nastaví implicitní vytáčení na pulsní.
ATQ
Vypíná a zapíná odpovědi modemu
ATQ0 - povoluje odpovědi modemu (implicitně)
ATQ1 - zakazuje odpovědi modemu
ATS
Mění nebo čte obsah S-registrů modemu.
ATS+číslo registru+? vypisuje obsah daného
S-registru
ATS+číslo registru+=+ přiřazuje danému registru
hodnotu
ATT
Nastaví implicitní vytáčení na tónové.
ATV
Mění formát odpovědí modemu
ATV0 - modem odpovídá čísly
ATV1 - modem odpovídá krátkými textovými
zprávami typu OK (implicitně)
ATX
Nastavuje chování modemu při detekci
oznamovacího tónu (dialtone), vytáčení a spojování.
ATX0 - modem neprovádí detekci oznamovacího
tónu, navázání spojení oznamuje hláškou CONNECT
ATX1 - modem oznamuje při navázání spojení
přenosovou rychlost
ATX2 - jako ATX1, ale čeká na oznamovací tón
ATX3 - jako ATX1, ale při vytáčení detekuje
obsazovací tón (implicitně)
ATX4 - jako ATX3, ale čeká na oznamovací tón
ATY
Zakazuje nebo povoluje tzv. dlouhé prodlevy
při vytáčení
ATY0 - po obdržení ATH0 zavěsí okamžitě
(implicitně)
ATY1 - před zavěšením vyšle signál BREAK o délce
4 sekundy
ATZ
Inicializuje modem. Zavěsí linku, zruší
záznam o posledním vykonaném příkazu, načte konfiguraci z NVRAM, provede
selftest.
AT&F
Obnoví tovární konfiguraci z ROM. Pokud má
modem více továrních konfigurací, následuje číslo konfigurace
AT&P
Volba poměru Make/Break v pulsní volbě. Udává
délku pulsu a mezery mezi pulsy.
AT&P0 - nastaví poměr 61ms/39ms (implicitní a
neměnit!)
AT&P1 - nastaví poměr 67ms/33ms
AT&P2 - nastaví poměr 67ms/33ms s poloviční
délkou mezer a pulsů
AT&W
Uloží aktuální konfiguraci včetně hodnot
S-registrů do paměti NVRAM. Jestliže modem podporuje více konfigurací,
následuje číslo konfigurace
AT&Z
Uloží telefonní číslo pro časté vytáčení.
Toto číslo pak lze vytočit příkazem ATDS
AT&Z=číslo - nastaví telefonní číslo pro časté
vytáčení
ostatní AT-příkazy se liší modem od modemu
Popis základních S-registrů
Nastavení modemu jsou uloženy v tzv.
S-registrech. Těch je obvykle 256 a jejich hodnota může teoreticky být
0-255.
S0
Počet zazvonění, než modem automaticky
zavedne linku
Implicitně: 0
Hodnoty: 0-255 (když je nastavena 0, modem zvedá pouze po příkazu ATA)
S2
Určuje ASCII kód znaku pro escape sekvenci
Implicitně: 43
Hodnoty: 0-127 (Hodnotou větší než 127 se escape sekvence zakáže)
S3
Určuje ASCII kód znaku pro konec řádku -
CARRIAGE RETURN
Implicitně: 13
Hodnoty: 0-127
S4
Určuje ASCII kód znaku pro začátek nového
řádku - LINE FEED
Implicitně: 10
Hodnoty: 0-127
S5
Určuje ASCII kód znaku Back Space
Implicitně: 8
Hodnoty: 0-127
S6
Určuje maximální dobu v sekundách, po kterou
modem čeká na oznamovací tón. Má význam jen v režimech ATX0, ATX1, ATX3
Implicitně: 2
Hodnoty: 2-255
S7
Maximální doba, po kterou modem čeká na
nosnou vlnu (CARRIER), pokud se nedočká, zavěsí
Implicitně: doporučuje se nastavit alespoň na 50
Hodnoty: 0-255
S8
Určuje délku pauzy v sekundách, kterou modem
udělá když v příkazu ATD narazí na znak ","
Implicitně: 2
Hodnoty: 0-255
S9
Minimální délka tónu (v desetinách sekundy),
který je uznán za nosnou vlnu
Implicitně: 6
Hodnoty: 1-255
S10
Čas mezi ztrátou nosné a zavěšením v
desetinách sekundy. Pokud modem ztratí nosnou, vyčkává po tuto dobu na
její návrat. Potom zruší spojení.
Implicitně: 14
Hodnoty: 1-255 (255 znamená že modem spojení nezruší ani po trvalé ztrátě
nosné)
S11
Délka tónu (mezera je stejně dlouhá) v
milisekundách v tónové volbě.
Implicitně: 95
Hodnoty: 50-255
S12
Délka kontrolního času (escape code guard
time) pro escape sekvenci. Udává se padesátinách sekundy.
Implicitně: 50
Hodnoty: 0-255
|