Tick JEDNOTKA PRO PRÁCI SE SYSTÉMOVÝM ČASOVAČEM. Příručka uživatele a programátora
|
|
- Dušan Ovčačík
- před 8 lety
- Počet zobrazení:
Transkript
1 JEDNOTKA PRO PRÁCI SE SYSTÉMOVÝM ČASOVAČEM Příručka uživatele a programátora SofCon spol. s r.o. Střešovická Praha 6 tel/fax: sofcon@sofcon.cz www: Verze dokumentu 1.30
2 Informace v tomto dokumentu byly pečlivě zkontrolovány a SofCon věří, že jsou spolehlivé, přesto SofCon nenese odpovědnost za případné nepřesnosti nebo nesprávnosti zde uvedených informací. SofCon negarantuje bezchybnost tohoto dokumentu ani programového vybavení, které je v tomto dokumentu popsané. Uživatel přebírá informace z tohoto dokumentu a odpovídající programové vybavení ve stavu, jak byly vytvořeny a sám je povinen provést validaci bezchybnosti produktu, který s použitím zde popsaného programového vybavení vytvořil. SofCon si vyhrazuje právo změny obsahu tohoto dokumentu bez předchozího oznámení a nenese žádnou odpovědnost za důsledky, které z toho mohou vyplynout pro uživatele. Datum vydání: Datum posledního uložení dokumentu: (Datum vydání a posledního uložení dokumentu musí být stejné) Upozornění: V dokumentu použité názvy výrobků, firem apod. mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků. Copyright 2005, SofCon spol. s r.o., Jan Hvozdovič
3 Obsah : 1. O dokumentu Revize dokumentu Účel dokumentu Rozsah platnosti Související dokumenty 5 2. Termíny a definice 6 3. Úvod 7 4. Inicializace ovladače systémového časovače 7 5. Nastavení periody přerušování systémového časovače 7 6. Rady a triky 8 7. Kompenzace zrychlení systémového časovače při vyšší komunikační rychlosti na KitV Odinstalování ovladače systémového časovače Popis konstant a typů Procedury a funkce Init InitI Done SetDivider GetDivider SetTimeUser SetTimeUser GetFastTime Nic 16
4
5 1. O dokumentu 1.1. Revize dokumentu Verze dokumentu Verze SW Autor Datum vydání XX Hvo První vydání. Popis změn XX Tum Úprava dokumentu dle ISO XX Wil Přidána konstanta Int = $08. Proceduru SetTimeUser1 lze volat i vícekrát za sebou, což do teď nebylo možné při korekci proměnné IRQTime. Navíc SetTimeUser1 provádí tuto korekci automaticky, tj. po volání procedury SetTimeUser1 tuto korekci neprovádět v aplikaci. Změna inicializace ExitProc, která se nastavuje až v procedurách Init a InitI a ne v inicializační části jednotky, jako tomu bylo dosud. Přidána procedura Done, která obnovuje původní časovač a nastaví původní ExitProc. Přidány proměnné FastIRQxxx, které udávají údaje o "zrychleném" časovači. Přidána procedura SetTimeUser2 pro nastavení periody volání původní obsluhy časovače a User2. Kompenzace zrychlení systémového časovače při vyšší komunikační rychlosti na KitV40 se provádí automaticky, tj. tuto korekci neprovádět v aplikaci XX Wil Ve zrychlené větvi přerušení se inkrementuje lokální čítač, který je dostupný pomocí funkce GetFastTime. Pokud není nainicializován driver zrychleného časovače, vrací GetFastTime čítač standardního počtu přerušení (stejně jako AH=00h INT 1Ah) Účel dokumentu Tento dokument slouží jako popis jednotky pro práci se systémovým časovačem Rozsah platnosti Určen pro programátory a uživatele programového vybavení SofCon Související dokumenty Pro čtení tohoto dokumentu není nezbytně nutné číst žádný další manuál, ale je potřeba se orientovat v používání programového vybavení SofCon. Pro bližší file:_v0130.doc v / 16
6 porozumění funkce knihovny je vhodné se seznámit s konstantami systémového časovače definovanými v knihovně HwSyst. Popis formátu verze knihovny a souvisejících funkcí je popsán v manuálu LibVer. 2. Termíny a definice Používané termíny a definice jsou popsány v samostatném dokumentu Termíny a definice. file:_v0130.doc v / 16
7 3. Úvod Jednotka umožňuje nastavení nové obsluhy přerušení, která volá uživatelsky nastavitelné procedury User1, User2 a původní obsluhu přerušení. Dále umožňuje nastavení periody volání systémového přerušení INT $08, která lze nastavit přímo pomocí hodnoty systémového časovače nebo zadáním času volání procedury User1, přičemž procedura User1 bude volána s nastavenou periodou systémového časovače a procedura User2 a původní obsluha přerušení systémového časovače budou volány s původní periodou. Všechny tyto výše popsané možnosti lze použít pro zrychlení odezvy na vstupní události. U řídících jednotek KitV40 se tato jednotka používá i pro kompenzaci zrychlení systémového časovače v důsledku vyšších komunikačních rychlostí při komunikaci pomocí obvodu i8251 na procesoru V40, viz. manuál BIOS V Inicializace ovladače systémového časovače Instalace obsluhy přerušení systémového časovače, se provede zavoláním procedury Init nebo procedury InitI. Nastavená obsluha přerušení volá uživatelsky nastavitelné procedury User1, User2 a původní obsluhu přerušení OldInt08. Procedura InitI nastaví reentrantní obsluhu přerušení. Tzn. v době vykonávání procedury User1 nebo User2 může přijít další přerušení od časovače nebo i jiné hardwarové přerušení. V případě dalšího (vnořeného) přerušení od systémového časovače se právě prováděná procedura User1 nebo User2 obchází. Tento způsob obsluhy přerušení umožňuje trasování programu i v procedurách User1 a User2. Procedura Init nemá ošetřenu reentrantní obsluhu přerušení. Tzn. v době vykonávání obsluhy přerušení systémového časovače nemůže přijít další přerušení od systémového časovače ani jiné hardwarové přerušení. Při instalaci obsluhy přerušení systémového časovače některou z procedur Init nebo InitI se rovněž nastaví příznak FlInit a nastaví se Exit procedura (Pascal ExitProc), která obnovuje původní systémový časovač. Aplikace by měla případnou vlastní Exit proceduru nastavovat ještě před Init nebo InitI, čímž se zajistí, že v době provádění aplikační Exit procedury bude již ovladač systémového časovače ukončen. Před každým voláním procedury User1 je inkrementován lokální čítač počtu přerušení, jehož aktuální hodnota je aplikaci dostupná pomocí funkce GetFastTime (viz kapitola 10.8 GetFastTime ). Tento čítač je obdobou čítače inkrementovaného v původní obsluze přerušení časovače OldInt08, který je dostupný přes službu AH=00h INT 1Ah. 5. Nastavení periody přerušování systémového časovače Implicitně je User1 a User2 přiřazena prázdná procedura (Nic). Při provádění obsluhy přerušení nastavené pomocí procedur Init nebo InitI je vyhodnocována lokální proměnná Divider, která určuje kolikrát pomaleji bude volána procedura User2 a původní obsluha přerušení systémového časovače file:_v0130.doc v / 16
8 (OldInt08) oproti (zrychlené) proceduře User1. Tzn. použitím vlastní procedury User1 lze dosáhnout zrychlení odezvy na vstupní událost. Proměnná Divider je implicitně nastavena na hodnotu 1. Zjištění hodnoty proměnné Divider je možno pomocí funkce GetDivider. Při potřebě zrychlit odezvu na vstupní události nebo kompenzaci zrychlení systémového časovače je možno použít buď proceduru SetDivider, která nastaví proměnnou Divider a provede nastavení systémového časovače, nebo proceduru SetTimeUser1, která nastaví periodu volání User1 a rovněž provede nastavení systémového časovače. Rozdíl SetDivider a SetTimeUser1 je následující: Chceme-li, aby procedura User2 a OldInt08 byly volány pravidelně po 55ms a procedura User1 byla volána X-krát rychleji, použijeme proceduru SetDivider(X). Tím jsme ale schopni dosáhnout pouze určitých period volání procedury User1 vždy pouze celočíselné podíly 55ms (55 div X). Pokud chceme nastavit přesné volání procedury User1, použijeme proceduru SetTimeUser1. User1 je volána přesně dle nastaveného parametru a User2 a OldInt08 je volána přibližně s 55ms. Tato přesnost závisí na parametru procedury SetTimeUser1, jelikož perioda User2 a OldInt08 je odvozena z násobku volání User1, který se nejvíce blíží 55ms. Přesnější hodnota volání User2 a OldInt08 je nastavena do proměnné ActIRQTime z jednotky HWSyst. Např. Chceme-li volat User1 přesně s periodou 10ms, zavoláme SetTimeUser1(0,010). Periodu volání User2 a OldInt08 poté zjistíme z proměnné ActIRQTime. 6. Rady a triky Následují rady a typy pro práci s touto jednotkou, které nemusí být na první pohled zřejmé: Při nastavení vlastní obsluhy přerušení systémového časovače před voláním Init nebo InitI je tato vlastní obsluha volána vždy s frekvencí, která je téměř stejná jako původní obsluha, tj. 55ms. Př. GetIntVec(Int,OldTimeInt); {ulozime puvodni obsluhu} SetIntVec(Int{8},MyTimeInt); {MyTimeInt je interrupt procedura s vlastní obsluhou systemoveho casovace, která na konci vola puvodni obsluhu OldTimeInt} User1:=@MyUser1; {MyUser1 je vlastní FAR procedura která se bude volat zrychlene} User2:=@MyUser2; { MyUser1 je vlastní FAR procedura která se bude volat standardne} Init; SetDivider(11); {nyní je nastaveno: zrychlený časovač 55/11 = 5ms standardní časovač 55ms MyTimeInt, OldTimeInt a MyUser2 se volá standardně MyUser1 se volá zrychleně } Při nastavení vlastní obsluhy přerušení systémového časovače po zavolání Init a InitI je tato obsluha volána s nastavenou frekvencí systémového časovače, tj. dle nastavených rychlostí SetDivider nebo SetTimeUser1. file:_v0130.doc v / 16
9 Př. {MyUser1 je vlastní FAR procedura která se bude volat zrychlene} { MyUser1 je vlastní FAR procedura která se bude volat standardne} Init; SetDivider(11); GetIntVec(Int,OldTimeInt); SetIntVec(Int,MyTimeInt); {MyTimeInt je interrupt procedura s vlastní obsluhou systemoveho casovace, která na konci vola puvodni obsluhu OldTimeInt } {nyní je nastaveno: zrychlený časovač 55/11 = 5ms standardní časovač 55ms MyUser2 se volá standardně MyUser1, MyTimeInt a OldTimeInt se volá zrychleně } Zavedení procedur User1 a User2 je z důvodu snížení režie na obsluhu přerušení INT $08. V případě použití vlastních obsluh přerušení systémového časovače je tato režie mnohem vyšší (práce se zásobníkem) a je třeba uvážit, kdy tuto obsluhu nainstalovat (viz výše). Používáme-li operační systém reálného času ReTOS, musí se uvážit, kdy inicializovat jádro ReTOS a kdy inicializovat driver systémového časovače voláním procedur Init nebo InitI. Při volání procedury Init nebo InitI před inicializací jádra ReTOS se zrychlí přepínání procesů v systému ReTOS, tj. přepínání jádra se děje se stejnou periodou jako volání User1. V případě provedení inicializace Init nebo InitI po inicializaci jádra ReTOS se přepínání procesů v systému ReTOS nezrychlí, tj. přepínání jádra se děje se stejnou periodou jako User2, tj. přibližně po 55ms. Nyní si ukažme způsob, jak zrychlit systémový časovač na požadovanou periodu (v příkladu na 2ms) a zároveň zrychlit i systém reálného času ReTOS na jinou požadovanou periodu (v příkladu na 50ms). Př. Const cfper = 2; {[ms] požadovaná perioda zrychleného časovače} cretosper = 50; {[ms] požadovaná perioda nezrychleného časovače a o.s.retos, MUSÍ být celistvým násobkem konstanty cfper} Begin {základním předpokladem pro následující řešení je, že perioda přepínání ReTOS musí být větší nebo rovna periodě zrychleného časovače} if cretosper<cfper then RunError(255); {inicializace driveru zrychleného časovače} Init; {případné zrychleni časovače} if cfper<defirqtime{55} then begin SetTimeUser1(cFPer/1000{[s]}); end; {případné zrychlení standardního časovače a ReTOS} if cretosper<actirqtime then begin SetTimeUser2(cRetosPer/1000{[s]}); end; file:_v0130.doc v / 16
10 {inicializace o.s.retos} StartMain(Main_SPrio,Main_DPrio); InitInterruptStack(1,254); StartTimeSlicing(8);... tělo programu End. Jak již bylo řečeno, voláním procedury Init nebo InitI se nastaví Exit procedura, která prostřednictvím procedury Done obnovuje činnost systémového časovače. Voláním Done se také obnoví původní Exit procedura, která byla jako ExitProc nastavena PŘED voláním procedury Init nebo InitI. Proto POZOR na následující příklad. Př. Begin... {do ExitProc nastavíme svoji obsluhu MyExit1} SaveExit1:=ExitProc; ExitProc:=MyExit1; {inicializujeme ovladač systémového časovače} Init; {do ExitProc nastavíme svoji obsluhu MyExit2} SaveExit2:=ExitProc; ExitProc:=MyExit2; {odinstalujeme ovladač systémového časovače} Done; Nyní je v ExitProc nastavena MyExit1, jelikož volání Done obnovilo stav před Init. Proto se doporučuje, aby aplikace svoji Exit proceduru nastavovala PŘED Init resp. InitI. Pozn: Obdobná situace je s operačním systémem reálného času ReTOS, který nastavuje svoji Exit proceduru voláním StartMain. 7. Kompenzace zrychlení systémového časovače při vyšší komunikační rychlosti na KitV40 Tato část je určena pouze systémům s řídící jednotkou KitV40 využívající komunikační kanál V40 (např. pomocí knihoven ChnV40, ChnV40P, ChnV40_, ChnV40T). Při inicializaci komunikačního kanálu V40 s rychlostí 9600Bd a vyšší dochází ke změně frekvence časování systémového časovače. Při používání starších verzí systémových knihoven LIB bylo zapotřebí, aby programátor provedl kompenzaci této změny frekvence přímo ve své aplikaci pomocí ručního nastavení proměnné Divider. Pokud by tak neučinil, porušilo by se časování původní obsluhy systémového časovače a i knihovna Timer pro odměřování časových intervalů by měřila špatně. V současné verzi systémových knihoven se tyto kompenzace provádějí automaticky, tj. programátor nemusí (ani nesmí) ručně upravovat proměnnou Divider. Z tohoto důvodu byla proměnná Divider přesunuta z veřejné (interface) sekce jednotky do privátní (implementation). Tj. při překladu starší již napsané aplikace (která ještě stále provádí ruční úpravu file:_v0130.doc v / 16
11 Divider) s novými knihovnami nahlásí překladač chybu Unknown identifier. Řešení je velice prosté: Odstraňte ruční nastavení Divider. Příklady automatické kompenzace systémového časovače: Př.1: {inicializace ovladače systémového časovače} Init; {zrychlení systémového časovače} SetTimeUser1(10*1e-3{10ms}); {nastavení vlastních procedur vyvolávaných v systémovém časovači} asm pushf; cli end; User1:=@MyUser1; {MyUser1 se volá s periodou FastIRQtime, v tomto případě 10ms} User2:=@MyUser2; {MyUser2 se volá s periodou ActIRQtime, v tomto případě 60ms} asm popf end; {inicializace komunikačního kanálu V40 s rychlostí 19200Bd} viz postup popsaný v příslušné komunikační knihovně {pro rychlost 19200Bd na KitV40 16MHz dochází ke 4násobnému zrychlení systémového časovače, díky automatické kompenzaci bude FastIRQtime = 10ms a ActIRQtime = 60ms} Př.2: {inicializace ovladače systémového časovače} Init; {zrychlení systémového časovače} SetTimeUser1(10*1e-3{10ms}); {nastavení vlastních procedur vyvolávaných v systémovém časovači} asm pushf; cli end; User1:=@MyUser1; {MyUser1 se volá s periodou FastIRQtime, v tomto případě 10ms} User2:=@MyUser2; {MyUser2 se volá s periodou ActIRQtime, v tomto případě 60ms} asm popf end; {inicializace komunikačního kanálu V40 s rychlostí 38400Bd} viz postup popsaný v příslušné komunikační knihovně {pro rychlost 38400Bd na KitV40 16MHz dochází k 8mi násobnému zrychlení systémového časovače, díky automatické kompenzaci bude FastIRQtime = 10ms a ActIRQtime = 60ms} Pozn: Nezáleží na tom, zda nejprve nainicializujeme systémový časovač a potom komunikaci V40 nebo naopak. Kompenzace se provádí i při odinicializování komunikace V Odinstalování ovladače systémového časovače Odinstalování ovladače systémového časovače, který byl inicializován některou z procedur Init nebo InitI se provede procedurou Done (viz 10.3 Done ). Tato procedura je rovněž volána jako Exit procedura této knihovny. file:_v0130.doc v / 16
12 9. Popis konstant a typů cverno = např. $0251; { BCD formát } cver = např. '02.51, '; Číslo verze jednotky v BCD tvaru a v textové podobě včetně datumu změny. Int = $08 Číslo přerušení pro obsluhu systémového časovače. tuser = procedure; Typ procedura. User1 : tuser = Nic; Uživatelsky nastavitelná procedura, která je volána s novou (zrychlenou) frekvencí systémového časovače. User2 : tuser = Nic; Uživatelsky nastavitelná procedura, která je volána s původní frekvencí systémového časovače. FlInit : Boolean = False; Příznak určující zda ovladač systémového časovače je či není nainstalován. Tato konstanta se nastavuje voláním procedur Init nebo InitI a nuluje voláním procedury Done. Fl1Over : Boolean = False; Příznak, který signalizuje, že před dokončením provádění procedury User1 bylo vygenerováno nové přerušení systémového časovače a procedura User1 nemohla být provedena, protože byla již obsluhována. Tj. doba provádění User1 je příliš dlouhá. Tento příznak se používá pouze v případě nastavení reentrantní obsluhy systémového časovače procedurou InitI. Fl2Over : Boolean = False; Příznak, který signalizuje, že před dokončením provádění procedury User2 bylo vygenerováno nové přerušení systémového časovače a procedura User2 nemohla být provedena, protože byla již obsluhována. Tj. doba provádění User2 je příliš dlouhá. Tento příznak se používá pouze v případě nastavení reentrantní obsluhy systémového časovače procedurou InitI. OldInt08 : Pointer = Nil; Ukazatel na obsluhu přerušení od systémového časovače Int 08h při volání Init nebo InitI. Používá se pro volání původní obsluhy přerušení od systémového časovače. FastIRQTime : word = DefIRQTime; Aktuální perioda [ms] mezi přerušeními "zrychleného" systémového časovače. FastIRQpSec : real = DefIRQpSec; Aktuální počet přerušení za sekundu "zrychleného" systémového časovače. FastIRQpDay : longint = DefIRQpDay; Aktuální počet přerušení za den "zrychleného" systémového časovače. file:_v0130.doc v / 16
13 Pozn: Proměnné FastIRQxxx se aktualizují po každém volání Init, InitI, SetDivider, SetTimeUser1 a Done. Tyto proměnné se vztahují na zrychlený časovač, tj. platí pro uživatelskou proceduru User1. Na rozdíl od toho proměnné ActIRQxxx z knihovny HwSyst se vztahují na původní, tj. nezrychlený časovač User Procedury a funkce Init procedure Init; Procedura Init nastaví nereentrantní obsluhu přerušení systémového časovače volající původní obsluhu přerušení a uživatelsky definovatelné obsluhy User1 a User2. Během provádění procedur User1 a User2 není povoleno žádné hardwarové přerušení InitI procedure InitI; Procedura InitI nastaví reentrantní obsluhu přerušení systémového časovače volající původní obsluhu přerušení a uživatelsky definovatelné obsluhy User1 a User2. Na rozdíl od procedury Init, která nastaví nereentrantní obsluhu přerušení, není během provádění procedur User1 a User2 zakázáno hardwarové přerušení. To znamená, že i v době, kdy je program vnořen do procedur User1 nebo User2, může přijít jakékoliv hardwarové přerušení i další nové přerušení od systémového časovače. V případě dalšího ( vnořeného ) přerušení od systémového časovače program zajistí, aby již obsluhované procedury User1 a User2 byly obcházeny. To dovoluje trasování (ladění) programu i v procedurách User1 a User Done procedure Done; Procedura Done ukončí činnost ovladače systémového časovače a nastaví jeho původní obsluhu, tj. OldInt08, která je volána se standardní periodou 55ms. To znamená, že vrátí systémový časovač do stavu, který byl před voláním procedur Init resp. InitI. Procedura Done také obnoví původní Exit proceduru, která byla nastavena před voláním procedur Init resp. InitI. Po proceduře Done je možno opět volat proceduru Init resp. InitI. Pozn: Procedura Done je volána i v ExitProc (ukončovací proceduře) této knihovny, pokud uživatel nezavolal Done ještě před ukončovacím řetězcem Exit procedur. file:_v0130.doc v / 16
14 10.4. SetDivider procedure SetDivider(TD:word); Procedura nastavuje poměr Divider a dělič systémového časovače odpovídající dělicímu poměru Divider. Při dělicím poměru 1 je perioda volání procedur User1 a User2 55 ms. Nastavením jiného dělicího poměru (>1) se učí, kolikrát častěji má být volána User1 oproti User2, která je volána s 55ms. Například při poměru 2 je perioda 22.5 ms pro User1 a 55ms pro User2. Před voláním procedury SetDivider je nutno inicializovat ovladač systémového časovače některou z procedur InitI nebo Init. Pro kompenzaci zrychlení systémového časovače při vyšších komunikačních rychlostech na KitV40 by se měl používat postup uvedený v kapitole Úvod v části zaměřené na rady a typy pro práci s jednotkou. Procedura SetDivider se může volat pouze při nainicializované obsluze systémového časovače, tj. po procedurách Init/InitI. V opačném případě se vygeneruje RunTime Error GetDivider function GetDivider:word; Funkce navrátí aktuální hodnotu proměnné Divider SetTimeUser1 procedure SetTimeUser1(aTime:Real); Procedura nastaví proměnnou Divider a systémový časovač tak, aby uživatelsky nastavitelná procedura User1 byla přerušována v nastaveném čase dle parametru atime [s]. Původní obsluha OldInt08 a User2 nemusí být volány v pravidelné periodě 55ms, ale pouze přibližně (viz kapitola Úvod ). Z tohoto důvodu je také nutno, aby se při volání SetTimeUser1 nepoužíval (neměl rozčasováno ) žádný časovač z jednotky Timer. Ten totiž předpokládá, že od doby volání metody SaveTime (objektu ttimer z jednotky Timer) až do vypršení nastaveného časového limitu metodou TstTime je frekvence volání obsluhy OldInt08 konstantní. Pokud bychom tedy zavolali proceduru SetTimeUser1 v polovině měření času objektem ttimer, mohli bychom rozhodit jeho správné vyhodnocení časového intervalu. Parametr atime musí být v rozmezí s až 0,055s. Procedura SetTimeUser1 se může volat pouze při nainicializované obsluze systémového časovače, tj. po procedurách Init/InitI. V opačném případě se vygeneruje RunTime Error SetTimeUser2 procedure SetTimeUser2(aTime:Real); Procedura upraví lokální proměnnou Divider tak, aby uživatelsky nastavitelná procedura User2 a původní obsluha přerušení OldInt08 byla přerušována v přibližně nastaveném čase dle parametru atime [s]. file:_v0130.doc v / 16
15 Procedura SetTimeUser2 se může volat pouze při nainicializované obsluze systémového časovače, tj. po procedurách Init/InitI. V opačném případě se vygeneruje RunTime Error 199. Výraz přibližné nastavení periody atime znamená, že pokud tato perioda není v celistvých násobcích periody volání User1, tj. FastIRQtime/1000, použije se nejbližší vyhovující hodnota (viz příklad níže). Dále je také nutno, aby se při volání SetTimeUser2 nepoužíval (neměl rozčasováno ) žádný časovač z jednotky Timer. Ten totiž předpokládá, že od doby volání metody SaveTime (objektu ttimer z jednotky Timer) až do vypršení nastaveného časového limitu metodou TstTime je frekvence volání obsluhy OldInt08 konstantní. Pokud bychom tedy zavolali proceduru SetTimeUser1 v polovině měření času objektem ttimer, mohli bychom rozhodit jeho správné vyhodnocení časového intervalu. Parametr atime musí být v rozmezí s až 0,055s, ale nesmí být menší než perioda volání User1, tj. FastIRQtime/1000. Př.1: Init; Př.2: Př.3: SetTimeUser1(10*1e-3); SetTimeUser2(40*1e-3); {User1 je volán s periodou 10ms, User2 a OldInt08 je volán s periodou 40ms} Init; SetTimeUser2(40*1e-3); SetTimeUser1(10*1e-3); {User1 je volán s periodou 10ms, User2 a OldInt08 je volán s periodou 60ms, tj. není volán s periodou 40ms => SetTimeUser2 volat až po SetTimeUser1} Init; SetTimeUser1(10*1e-3); SetTimeUser2(25*1e-3); {User1 je volán s periodou 10ms, User2 a OldInt08 je volán s periodou 30ms, jelikož požadovaných 25ms není celistvý násobek SetTimeUser1} Pozn.: Správné nastavení výše zmíněných period si lze ověřit následovně: proměnná FastIRQtime by měla odpovídat parametru procedury SetTimeUser1 (pozor na to, že FastIRQtime je v milisekundách, kdežto parametr procedury SetTimeUser1 je v sekundách) a proměnná ActIRQtime by měla odpovídat parametru procedury SetTimeUser2 (rovněž pozor na jednotku času [ms] vs. [s]) GetFastTime function GetFastTime:longint; Funkce vrátí aktuální hodnotu čítače počtu zrychleného přerušení od časovače. Tento čítač se inkrementuje v přerušení od časovače před každým voláním procedury User1. Inkrementace probíhá od hodnoty 0 do hodnoty 7FFFFFFFh (= High(longint)). Pokud není inicializován (některou z procedur Init, InitI) driver zrychleného systémového časovače, funkce GetFastTime vrací aktuální hodnotu původního časovače pomocí služby AH=00h INT 1Ah. file:_v0130.doc v / 16
16 10.9. Nic procedure Nic; Procedura je prázdná, obsahuje pouze instrukci RETF. Tato procedura je implicitně přiřazena procedurálním proměnným User1 a User2, dokavad uživatel neprovede jejich přenastavení. file:_v0130.doc v / 16
PCKEYB JEDNOTKA PRO OBSLUHU KLÁVESNICE TYPU PC AT. Příručka uživatele a programátora
JEDNOTKA PRO OBSLUHU KLÁVESNICE TYPU PC AT Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
uioct01 JEDNOTKA PRO MĚŘENÍ FREKVENCE (OTÁČEK) DESKOU IOCT01 Příručka uživatele a programátora
uioct01 JEDNOTKA PRO MĚŘENÍ FREKVENCE (OTÁČEK) DESKOU IOCT01 Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www:
uioflex JEDNOTKA PRO KONFIGURACI DESKY IOFLEX01 Příručka uživatele a programátora
uioflex JEDNOTKA PRO KONFIGURACI DESKY IOFLEX01 Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
udspt10r JEDNOTKA IMPLEMENTUJÍCÍ DISPLEJ VZDÁLENÉ VARIANTY TERMINÁLU TERM10 Příručka uživatele a programátora
udspt10r JEDNOTKA IMPLEMENTUJÍCÍ DISPLEJ VZDÁLENÉ VARIANTY TERMINÁLU TERM10 Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
umenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora
umenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www:
LZ77 KNIHOVNA PRO KOMPRESI A DEKOMPRESI DAT POMOCÍ ALGORITMU LZ77. Příručka uživatele a programátora
KNIHOVNA PRO KOMPRESI A DEKOMPRESI DAT POMOCÍ ALGORITMU Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
uioadda1 JEDNOTKA PRO OVLÁDÁNÍ DESEK IOADDA01, IOADDA02 A IODA01 Příručka uživatele a programátora
uioadda1 JEDNOTKA PRO OVLÁDÁNÍ DESEK IOADDA01, IOADDA02 A IODA01 Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www:
usimt03 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM03 NA PC Příručka uživatele a programátora
usimt03 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM03 NA PC Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
uterm03r JEDNOTKA IMPLEMETUJÍCÍ VZDÁLENÝ TERMINÁL TERM03 Příručka uživatele a programátora
uterm03r JEDNOTKA IMPLEMETUJÍCÍ VZDÁLENÝ TERMINÁL TERM03 Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
usimt03r JEDNOTKA PRO SIMULACI VZDÁLENÉ VARIANTY TERMINÁLU TERM03 NA POČÍTAČI PC Příručka uživatele a programátora
usimt03r JEDNOTKA PRO SIMULACI VZDÁLENÉ VARIANTY TERMINÁLU TERM03 NA POČÍTAČI PC Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
DiskIO JEDNOTKA PRO PRÁCI S RAM, ROM A FLASH DISKY. Příručka uživatele a programátora
JEDNOTKA PRO PRÁCI S RAM, ROM A FLASH DISKY Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
uflx2pos JEDNOTKA PRO PRÁCI S INKREMENTÁLNÍMI ČIDLY V DESCE IOFLEX02 Příručka uživatele a programátora
uflx2pos JEDNOTKA PRO PRÁCI S INKREMENTÁLNÍMI ČIDLY V DESCE IOFLEX02 Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
ucomm JEDNOTKA ZPROSTŘEDKOVÁVAJÍCÍ SLUŽBY BIOSU KITV40 PRO SÉRIOVOU KOMUNIKACI Příručka uživatele a programátora
ucomm JEDNOTKA ZPROSTŘEDKOVÁVAJÍCÍ SLUŽBY BIOSU KITV40 PRO SÉRIOVOU KOMUNIKACI Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fa: +420 220 180 454 E-mail: sofcon@sofcon.cz
upct01 SIMULÁTOR TERMINÁLU TERM01 NA POČÍTAČI PC Příručka uživatele a programátora
upct01 SIMULÁTOR TERMINÁLU TERM01 NA POČÍTAČI PC Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
Změny knihoven ZMĚNY NOVÝCH KNIHOVEN PRO PROSTŘEDÍ BP. Příručka uživatele a programátora
ZMĚNY NOVÝCH KNIHOVEN PRO PROSTŘEDÍ BP Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz Verze
Bitmaps SPRÁVCE BITMAP A POMOCNÉ FUNKCE PRO PRÁCI S BITMAPAMI. Příručka uživatele a programátora
SPRÁVCE BITMAP A POMOCNÉ FUNKCE PRO PRÁCI S BITMAPAMI Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
LdrLib KNIHOVNY PRO TVORBU ZAVADĚČE (LOADERU) ŘÍDICÍCH APLIKACÍ. Příručka uživatele a programátora
KNIHOVNY PRO TVORBU ZAVADĚČE (LOADERU) ŘÍDICÍCH APLIKACÍ Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
usimt10 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM10 NA PC Příručka uživatele a programátora
usimt10 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM10 NA PC Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
TKeypad KNIHOVNY DEFINIC KLÁVESNIC PRO TERMINÁLY TOUCH. Příručka uživatele a programátora
KNIHOVNY DEFINIC KLÁVESNIC PRO TERMINÁLY TOUCH Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
usimt01 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM01 NA PC Příručka uživatele a programátora
usimt01 JEDNOTKA IMPLEMENTUJÍCÍ OBJEKTY PRO SIMULACI TERMINÁLU TERM01 NA PC Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
urtotemp JEDNOTKA PRO PŘEVODY ODPORU ČIDLA NA TEPLOTU Příručka uživatele a programátora
urtotemp JEDNOTKA PRO PŘEVODY ODPORU ČIDLA NA TEPLOTU Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
TEDrv OVLADAČE KLÁVESNICE, MYŠI A DISPLEJE EMULÁTORU TERMINÁLU PRO MS WINDOWS. Příručka uživatele a programátora
OVLADAČE KLÁVESNICE, MYŠI A DISPLEJE EMULÁTORU TERMINÁLU PRO MS WINDOWS Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
Nastavení konstant regulátoru PID
Nastavení konstant regulátoru PID ZÁKLADNÍ POSTUP NASTAVENÍ REGULÁTORU PID Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
utermchr JEDNOTKA PRO PRÁCI SE ZNAKOVÝM TERMINÁLEM Příručka uživatele a programátora
utermchr JEDNOTKA PRO PRÁCI SE ZNAKOVÝM TERMINÁLEM Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
uaterm JEDNOTKA PRO PRÁCI S ABSTRAKTNÍM TERMINÁLEM Příručka uživatele a programátora
uaterm JEDNOTKA PRO PRÁCI S ABSTRAKTNÍM TERMINÁLEM Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
Termíny a definice TERMÍNY A DEFINICE POUŽÍVANÉ V MANUÁLECH FIRMY SOFCON. Příručka uživatele a programátora
Termíny a definice TERMÍNY A DEFINICE POUŽÍVANÉ V MANUÁLECH FIRMY SOFCON Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
6 Příkazy řízení toku
6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní
Software pro grafické terminály TERM10 a TERM03
Software pro grafické terminály TERM10 a TERM03 STAVEBNICE OBJEKTŮ Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
Struktura programu v době běhu
Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů
dovolují dělení velkých úloh na menší = dekompozice
Podprogramy dovolují dělení velkých úloh na menší = dekompozice Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
Implementace LL(1) překladů
Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
KitKing POPIS VIZUALIZAČNÍCH KNIHOVEN PRO ŘÍDICÍ SYSTÉM KIT. Příručka uživatele a programátora
POPIS VIZUALIZAČNÍCH KNIHOVEN PRO ŘÍDICÍ SYSTÉM KIT Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
Začínáme s OS FreeDos na Kit188ER
Začínáme s OS FreeDos na Kit188ER Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz Verze
Programovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
NumToStr JEDNOTKA PRO PŘEVODY ČÍSEL, DATUMU A ČASU A JINÝCH DATOVÝCH STRUKTUR NA ŘETĚZCE A ZPĚT. Příručka uživatele a programátora
JEDNOTKA PRO PŘEVODY ČÍSEL, DATUMU A ČASU A JINÝCH DATOVÝCH STRUKTUR NA ŘETĚZCE A ZPĚT Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail:
umenuchr JEDNOTKA PRO VYTVÁŘENÍ ZNAKOVÝCH UŽIVATELSKÝCH MENU Příručka uživatele a programátora
umenuchr JEDNOTKA PRO VYTVÁŘENÍ ZNAKOVÝCH UŽIVATELSKÝCH MENU Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www:
Přerušovací systém s prioritním řetězem
Přerušovací systém s prioritním řetězem Doplňující text pro přednášky z POT Úvod Přerušovací systém mikropočítače může být koncipován několika způsoby. Jednou z možností je přerušovací systém s prioritním
Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:
Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury
NPRG030 Programování I, 2015/16 1 / :25:32
NPRG030 Programování I, 2015/16 1 / 21 22. 10. 2015 13:25:32 Podprogramy Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X
KNIHOVNA LETNI_CAS. edice verze 1.0. Knihovna letni_cas. Ing. Zdeněk Rozehnal MICROPEL s.r.o. 2008
KNIHOVNA LETNI_CAS Knihovna několika málo funkcí zajišťující komfortní přechod na letní nebo zimní čas. Přechod je možné provádět automaticky nebo manuálně po vyvolání upozornění. Až na malé výjimky může
LibVUtils UTILITY PRO BALÍK KNIHOVEN LIBV. Příručka uživatele a programátora
UTILITY PRO BALÍK KNIHOVEN LIBV Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz Verze dokumentu
COUDP KNIHOVNA PROTOKOLU UDP. Příručka uživatele a programátora
KNIHOVNA PROTOKOLU UDP Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz Verze dokumentu 1.10
HwSyst ZÁKLADNÍ ADRESY A KONSTANTY PRO ŘÍDICÍ JEDNOTKY KIT. Příručka uživatele a programátora
ZÁKLADNÍ ADRESY A KONSTANTY PRO ŘÍDICÍ JEDNOTKY KIT Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/2000. 1 PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/2000 13 stran 1
PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/2000 1 PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/2000 13 stran 1 PESlib Popis knihoven PASCAL a C 03.2000 2. verze dokumentu Zmìny a doplòky proti 1.
Syntaktická analýza. Implementace LL(1) překladů. Šárka Vavrečková. Ústav informatiky, FPF SU Opava
Implementace LL(1) překladů Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 6. ledna 2012 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
Beznárazové přepnutí aplikace
AP0043 APLIKAČNÍ POZNÁMKA Beznárazové přepnutí aplikace Abstrakt Některé řídicí systémy firmy AMiT umožňují beznárazové přepnutí aplikace. Které systémy to jsou a jakým způsobem lze beznárazové přepnutí
G240x128 a G128x64 JEDNOTKY IMPLEMENTUJÍCÍ GRAFICKÉ OPERACE VE VIDEOPAMĚTI. Příručka uživatele a programátora
G240x128 a G128x64 JEDNOTKY IMPLEMENTUJÍCÍ GRAFICKÉ OPERACE VE VIDEOPAMĚTI Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných
Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro
Algoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 7
UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 7 Využití knihoven podprogramů, displej Jan Dolinay Petr Dostálek Zlín 2013 Tento studijní materiál vznikl
Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem
Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel
K8055D.DLL v5.0.0.0. Technická příručka. Úvod. Obecné. Konvence volání. Nastavení adresy karty
K8055D.DLL v5.0.0.0 Technická příručka Úvod Obecné Experimentální USB deska K8055N má 5 digitálních vstupních kanálů a 8 digitálních výstupních kanálů. Kromě toho jsou na desce dva analogové vstupy, dva
Synchronizace Mgr. Josef Horálek
Synchronizace Mgr. Josef Horálek Synchronizace procesu = Kooperující proces je proces, který může ovlivnit nebo být ovlivněn jiným procesem právě spuštěným v systému = Spolupracující procesy mohou sdílet:
Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí
Výpočet v módu jádro v důsledku událostí - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení řízení se předá na proceduru pro ošetření odpovídající události část stavu přerušeného procesu
Metody připojování periferií BI-MPP Přednáška 2
Metody připojování periferií BI-MPP Přednáška 2 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011
Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování
Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování Vypracování bude ve formě ručně napsaného zdrojového textu programu na papír se zadáním. Program dle zadání si
Konstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
6. Příkazy a řídící struktury v Javě
6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
Sada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 06. Proměnné, deklarace proměnných Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
konstruktory a destruktory (o)
konstruktory a destruktory (o) - slouží k ovlivnění vzniku (inicializace) a zániku (úklid) objektu - základní myšlenkou je, že proměnná by měla být inicializována (nastavena do počátečního stavu) a zároveň
Komunikační driver Sauter EY2400. Reliance. Komunikační driver SAUTER EY2400 verze 2.4.3
Reliance Komunikační driver SAUTER EY2400 verze 2.4.3 OBSAH 1. Úvod... 4 1.1. Základní pojmy... 4 2. Komunikační driver Sauter EY2400... 5 2.1 Základní Vlastnosti... 5 Start driveru... 5 Připojení stanice
Bitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr
Bitové operátory a bitová pole Úvod do programování 2 Tomáš Kühr Bitové operátory Provádějí danou operaci s jednotlivými bity svých operandů Operandy bitových operátorů mohou být pouze celočíselné Vyhodnocení
Procesy a vlákna (Processes and Threads)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating
NAPOJENÍ ZAŘÍZENÍ S KOMUNIKACÍ BELIMO MP-BUS NA SÍŤ AUTOMATŮ MICROPEL
NAPOJENÍ ZAŘÍZENÍ S KOMUNIKACÍ BELIMO MP-BUS NA SÍŤ AUTOMATŮ MICROPEL Principy komunikace zařízení na MP-Bus s automatem MICROPEL, popis prostředků pro zákaznický program edice 02.2014 verze 1.0 MPC400
Alternativní použití analogových vstupů
AP0033 APLIKAČNÍ POZNÁMKA Alternativní použití analogových vstupů Abstrakt Aplikační poznámka řeší způsob alternativního využití analogových vstupů, při jejich využití jiným než standardním způsobem. Autor:
ISU Cvičení 7. Marta Čudová
ISU Cvičení 7 Marta Čudová Supercomputing Technologies Research Group Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole icudova@fit.vutbr.cz Osnova
DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA
DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: vzdělávací
Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -
Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky - Preprocesor je možné ovládat pomocí příkazů - řádky začínající
1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1
1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1 1. Prvocisla: Kratky ukazkovy priklad na demonstraci baliku WEB. Nasledujici program slouzi pouze jako ukazka nekterych moznosti a sluzeb,
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;
Vícerozměrné pole type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; M[2,3] := 3145; - počet indexů není omezen (v praxi obvykle nejvýše tři) - více indexů pomalejší přístup k prvku (počítá
Více o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
NPRG030 Programování I, 2017/18 1 / :22:16
NPRG030 Programování I, 2017/18 1 / 26 20. 10. 2017 11:22:16 Ordinální typy standardní: integer, char, boolean Vlastnosti ordinálních typů: 1. hodnot je konečný počet a hodnoty jsou uspořádány 2. ke každé
Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.
Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově
ChnMonitor PROGRAM PRO MONITOROVÁNÍ KOMUNIKAČNÍ LINKY S VOLBOU PROTOKOLŮ I FYZICKÉHO PŘENOSU. Příručka uživatele a programátora
PROGRAM PRO MONITOROVÁNÍ KOMUNIKAČNÍ LINKY S VOLBOU PROTOKOLŮ I FYZICKÉHO PŘENOSU Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz
Úvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Speciální obvody a jejich programování v C 2. díl České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek, 2017 Compare Unit jiné řešení Následující
- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.
Základní symboly - písmena A B C Y Z a b c y z - číslice 0 1 2 9 - speciální symboly + - * / =., < > = a další - klíčová slova and array begin case const a další Klíčová slova jsou chráněnými útvary,
CZ.1.07/1.5.00/
Celá čísla Celočíselný typ má označení INTEGER. Kromě tohoto základního jsou k dispozici ještě další celočíselné typy, které uvádí následující tabulka. Každý typ umožňuje definovat určitý rozsah celých
O datových typech a jejich kontrole
.. O datových typech a jejich kontrole Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Typová kontrola Programovací techniky O datových typech
Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
Proměnné a parametry. predn_08.odt :00:38 1
Proměnné a parametry predn_08.odt 16.04.2007 14:00:38 1 Proměnné a parametry Jméno proměnné - identifikátor [a-za-z_][a-za-z_0-9]* Hodnota proměnné textový řetězec celočíselná hodnota - ne v sh Přesun
14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
Procesy a vlákna - synchronizace
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna - synchronizace České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
5. STRUKTURA PLC PROGRAMU
5. STRUKTURA PLC PROGRAMU Struktura PLC programu je navržena s ohledem na co jefektivnější návrh programu při přizpůsobení CNC systému na stroj. 5.1 Moduly jazyka TECHNOL Moduly jazyka PLC836 byly vytvořeny
1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny
Knihovna XmlLib TXV 003 63.01 druhé vydání říjen 2012 změny vyhrazeny 1 TXV 003 63.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá XmlLib_v13 Říjen 2012 2 Druhé vydání,
Proudový zdroj. Ovládací aplikace pro PC. 3/2017 ATEsystem s.r.o.
Proudový zdroj Ovládací aplikace pro PC 3/2017 ATEsystem s.r.o. www.atesystem.cz Informace o dokumentu Číslo revize Autor Datum revize Popis 0 Josef Navrátil 14.12.2016 Vytvoření manuálu 1 Jan Baroš 2.2.2017
KS-VARIOLF Komunikační rozhraní
Komunikační rozhraní Programátorská příručka Verze 1.00 ks-variolf_ms_cz_100 AMiT, spol. s r. o. nepřejímá žádné záruky, pokud se týče obsahu této publikace a vyhrazuje si právo měnit obsah dokumentace
Programy v prostředí operačního systému
.. Programy v prostředí operačního systému Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Standardní soubory Programovací techniky Programy v
Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.
1 Přerušení Při výskytu určité události procesor přeruší vykonávání hlavního programu a začne vykonávat obslužnou proceduru pro danou událost. Po dokončení obslužné procedury pokračuje výpočet hlavního